Code: Difference between revisions

Jump to navigation Jump to search
3,385 bytes removed ,  13 February 2018
Update description of dynare
(Update description of dynare)
 
(3 intermediate revisions by 3 users not shown)
Line 7: Line 7:
**http://www2.gol.com/users/kanzler/index.htm#L.%20Kanzler:%20Software
**http://www2.gol.com/users/kanzler/index.htm#L.%20Kanzler:%20Software
**Licence: "All rights reserved", Unfree for distributing modified versions
**Licence: "All rights reserved", Unfree for distributing modified versions
*[http://www.dynare.org 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==
==Communications Toolbox==
Line 24: Line 25:
*Simulate multipath fading channels: http://zeidler.ucsd.edu/~sct/code/20060112_multipath/
*Simulate multipath fading channels: http://zeidler.ucsd.edu/~sct/code/20060112_multipath/
*Signal processing package in [http://octave.sourceforge.net/signal/index.html OctaveForge]
*Signal processing package in [http://octave.sourceforge.net/signal/index.html OctaveForge]
*Wavelets: try Wavelab developed by David Donoho et al. at http://www-stat.stanford.edu/~wavelab/. For more information, see [[Wavelab on Octave]].
*Wavelets: LTFAT package in [http://octave.sourceforge.net/ltfat/ OctaveForge], see additional documentation in the [http://ltfat.sourceforge.net/doc/wavelets/index.php LTFAT web page]. Try also Wavelab developed by David Donoho et al. at http://www-stat.stanford.edu/~wavelab/. For more information, see [[Wavelab on Octave]].
* Peter Kovesi's functions for computer vision and image processing: http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/
* Peter Kovesi's functions for computer vision and image processing: http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/


Line 59: Line 60:
==Digital communications in medicine (DICOM)==
==Digital communications in medicine (DICOM)==
There is a DICOM package hosted on sourceforge: [[dicom | more information]].
There is a DICOM package hosted on sourceforge: [[dicom | more information]].
== Fixed point toolbox ==
(initial announcement can be found [http://www.octave.org/octave-lists/archive/help-octave.2004/msg01274.html here], with the corresponding thread)
When implementing algorithms in hardware, it is common to reduce the accuracy of the representation of numbers to a smaller number of bits. This allows much lower complexity in the hardware, at the cost of accuracy and potential overflow problems. Such representations are known as fixed point.
OctaveForge now contains [http://octave.sourceforge.net/Fixedpoint/index.html a toolbox] to perform such fixed point calculations. This toolbox supplies a fixed point type that allows Octave to model the effects of such a reduction in accuracy of the representation of numbers. The major advantage of this toolbox is that with correctly written Octave scripts, the same code can be used to test both fixed and floating point representations of numbers.
What it does is create several new user types for fixed point scalar, complex scalars, matrices and complex matrices, and the corresponding operators on these types. As this code was first written against 2.1.50 there is no capabilities at this time for NDArray operations with this code, however I'm not sure this is a problem.
A typical use of the toolbox might be something like
n = 2;
a = rand (n, n);
b = rand (n, n);
## Create fixed-point version with 1 bit before decimal and 5 after.
af = fixed (1, 5, a);
bf = fixed (1, 5, b);
c = myfunc (a, b);
cf = myfunc (af, bf);
function y = myfunc (a, b)
    y = a * b;
endfunction
where as you can see the underlying function myfunc is unchanged, while it is called with either floating or fixed point types. The case above is for fixed-point values with 1-bit before the decimal point and 5 after, and for me gave a result of
octave:8> c
c =
  0.98105  0.94436
  0.82622  0.30831
octave:9> cf
cf =
  0.93750  0.90625
  0.78125  0.25000
which clearly shows the loss of precision of a fixed-point algorithm with only 6-bits of precision in a matrix multiply. One gotcha in this toolbox is the use of the concatenation operator "[ ]" which will implicitly reconvert fixed-point values back to floating-point, with Octave 2.1.57 or earlier. This is due to an internal limitation of octave that was removed in Octave 2.1.58. So for the best experience it is suggested you use this toolbox with octave 2.1.58 or later.
This package is only available with recent versions of OctaveForge (20040707 or later). With the package installed online help is available with the command
octave:1> fixedpoint info
As this package is relatively new, all feedback on its use would be most welcome.
Matlab also recently introduced a [http://www.mathworks.com/products/fixed Fixed Point Toolbox]. The Octave toolbox has been written independently of the Matlab toolbox and doesn't follow the same syntax. This might change in the future, if the author (DavidBateman) can be bothered to put the effort into making the required changes. Mathworks [http://www.mathworks.com/access/helpdesk/help/pdf_doc/fixedpoint/FPTUG.pdf documentation] for their fixed point toolbox also includes a generic discussion of fixed point numbers that might be a useful addition to the documentation supplied with Octave itself. Another short introduction to fixed point arithmetics is [http://home.earthlink.net/~yatescr/fp.pdf this].


==Adding a quadl like integrator to octave==
==Adding a quadl like integrator to octave==
Line 126: Line 78:
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.
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.


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


Line 144: Line 96:


*[http://pub.ist.ac.at/~schloegl/matlab/NaN/ NaN-toolbox] A statistic-toolbox for Octave and Matlab®. It handles data with and without MISSING VALUES. More background information is provided in [http://pub.ist.ac.at/~schloegl/matlab/NaN/README.TXT README]
*[http://pub.ist.ac.at/~schloegl/matlab/NaN/ NaN-toolbox] A statistic-toolbox for Octave and Matlab®. It handles data with and without MISSING VALUES. More background information is provided in [http://pub.ist.ac.at/~schloegl/matlab/NaN/README.TXT README]
*[http://www.cepremap.cnrs.fr/dynare/ Dynare] is a pre-processor and a collection of MATLAB or SCILAB routines which solve non--linear models with forward looking variables. Cannot find any insight about the license terms, but some code is derived work from GPL code, e.g., [https://www.cepremap.cnrs.fr/websvn/filedetails.php?repname=repos+1&path=%2Fdynare_v3%2Fmatlab%2Fkernel_density_estimate.m&rev=6&sc=1]. The code is adapted from Anders Holtsberg's matlab toolbox (stixbox).


===Multivariate kernel density estimation===
===Multivariate kernel density estimation===
1

edit

Navigation menu