Code

From Octave
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Chaos and fractal contributions and toolboxes

Econometrics

  • Michael Creel's Econometrics notes and octave files: http://pareto.uab.es/mcreel/Econometrics/ (try the Econometrics/MyOctaveFiles directory too)
  • Ludwig Kanzler's Econometric software (much of it adapted to Octave):
  • Dynare is a software platform for handling a wide class of economic models, in particular dynamic stochastic general equilibrium (DSGE) and overlapping generations (OLG) models. Licensed under GNU GPL (v3 or later). Consists of a pre-processor (in C++) and of a collection of Octave/Matlab routines.

Communications Toolbox

OctaveForge now contains a fairly complete implementation of a Matlab R13 compatible communications toolbox http://octave.sourceforge.net/communications/index.html. This includes

  • Random signal creation/analysis
  • Source coding (Quantization, Compand)
  • Block coding (BCH, Reed-Solomon)
  • Modulations (QASK, PSK, etc)
  • Galois fields of even order [i.e. GF(2^m) ]

With a recent version of the OctaveForge installed (version 20030602 or later), online help is available with the command

octave:1> comms info

There are still functions missing or with limitations, and the documentation is not complete. You are therefore welcome to send patches.

Various Communications-Related Octave Code

Data Formats

A collection of various signal data formats can be found here. Many formats are supported by the BIOSIG-toolbox for Octave and Matlab.

Speech and Signal Processing Links

The following packages contain routines that can be made to work with Octave. Sometimes a little effort is required.

The following used to be available:

Other Software:

Digital communications in medicine (DICOM)

There is a DICOM package hosted on sourceforge: more information.

Adding a quadl like integrator to octave

quadl is an adaptive quadrature function available in MATLAB (from version 6 I think). It is very fast and accurate and surprisingly it's a small m-file. The algorithm is based on works by Prof. Walter Gander.

Prof. Gander has two m files in his web page http://www.inf.ethz.ch/personal/gander/ which implement his algorithm along with a paper describing the algorithm.

I have not delved deeply into the subject, but the adaptlobe.m function looks equivalent to quadl. Compatibility with MATLAB could be achieved by writing a small quadl wrapper function which simply calles adaptlobe, or by changing adabtlobe's name to quadl.

I have contacted Prof. Gander to allow for distribution of his m-files in octave-forge.

quadl, from the above source is now incorporated into octave-forge-2004-02-12.

Model transformation tools

http://mtt.sourceforge.net

A set of tools for modelling dynamic physical systems using the bond-graph methodology and transforming these models into representations suitable for analysis, control and simulation. These tools use, and generate m files for, GNU Octave.

Optimization

There is a variety of code in the octave-forge optimization package http://octave.sourceforge.net/optim/index.html

Parallelism

Operating Octave remotely and in parallel

Statistics

Statistics Functions

  • [ http://www.maths.lth.se/matstat/stixbox/ Stixbox] supports Octave. It has a variety of functions not available in octave/octave-forge such as bootstrap and jackknife estimators and a variety of qq plots. GPL.
  • Statbox has some regression functions which are not in Octave. Don't know license or Octave compatibility.
  • NaN-toolbox A statistic-toolbox for Octave and Matlab®. It handles data with and without MISSING VALUES. More background information is provided in README

Multivariate kernel density estimation

  • A google search for epanechnikov at the r-project.org site returns several R packages on this subject. They all should be GPL compatible. [1]
  • Weka is written in Java, again, don't know how difficult... look for a file called LWL.java
  • LTI-Lib is an object oriented library with algorithms and data structures frequently used in image processing and computer vision. LGPL

Symbolic

Symbolic Manipulation

Octave is a matrix algebra tool, not a symbolic algebra tool, so it cannot perform symbolic operations, such as finding the derivative of sine(x) with respect to x

y = derivative('sin(x)','x'); # Not available in Octave

The below mentioned GiNaC will add symbolic functionality to octave.

Octave interfaces to GiNaC

There are two Octave interfaces to GiNaC[1] available

octave:1> df = g_diff ( "sin(x)" , "x" )
df = cos(x)
octave:2> x = pi; eval ( df );
ans = -1

Numerical methods

In some instances, Octave can give reasonable results using numerical methods

  • Octave supports numerical derivatives:
t = linspace(0,6,100);
y = sin(t);
dydt = diff(y) ./ diff(t)
  • OctaveForge has other numerical derivative functions.

Symbolic algebra systems

Software other than Octave may be more useful for work involving symbolic manipulations

Free software

Non-free software

Note that most of these systems (and Octave!) may be used from within TeXmacs http://www.texmacs.org

A list of some other scientific software is available at http://sal.kachinatech.com/