Function Approximation

Encoding allows to represent any L2 function through a set of coefficients in a proper base.
2.7K Downloads
Updated 20 Jan 2009

View License

The following functions approximators are available:

1. Cubic Spline (encCubspline.m)
Well-known approach which describes a generic curve in terms of piecewise third-order polynomials.

2. Bio-mimetic nonlinear differential systems [1] (encNonlinDyn.m)
Two second-order nonlinear coupled systems are exploited for functions encoding. The algorithm is capable of learning any arbitrary demonstration through a set of N parametric Gaussians trained with a locally weighted regression technique.

3. Jacobi polynomials [2] (encJacobi.m)
Functions are represented by a uniquely-defined sequence of expansion coefficients within a proper basis of square-integrable function space made of the so-called Jacobi polynomials. Thanks to the orthogonality property of this special basis the coefficients computation turn out to be straightforward and do not need any training stage.

4. Multiresolution approximation [3] (encWavelet.m)
Multiresolution is a method to decompose any function as a sum of an approximation and a detail signal at a given resolution by convolving the original curve with a basis built of special functions known as scaling functions (father wavelets) which satisfy some useful properties such as orthogonality and similarity. Multiresolution can be seen as an extension of Fourier Transform since the normal sine, cosine kernel functions are substituted with a highly spatial-localized set of wavelets, resulting in a more effective representation in terms of number of parameters.

Decoders for algorithms based on Jacobi polynomials and Wavelet representation are also included, both in floating point and fixed point version.

The script runMe.m shows an example of encoding a robot joint trajectories through the aforementioned methods.

References:

[1] A.J. Ijspeert, J. Nakanishi, S. Schaal, “Movement Imitation with Nonlinear Dynamical Systems in Humanoid Robots”, In Proceedings of IEEE Conference on Robotics and Automation, 2002.

[2] Armin Biess, Mark Nagurka, Tamar Flash, “Simulating discrete and rhythmic multi-joint human arm movements by optimization of nonlinear performance indices”, Biological Cybernetics, 2006 (95), pp. 31-53

[3] Stephane G. Mallat, “A Theory for Multiresolution Signal Decomposition: The Wavelet Representation”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 11, No. 7, July, 1989, pp. 674-693

Cite As

Ugo Pattacini (2024). Function Approximation (https://www.mathworks.com/matlabcentral/fileexchange/22719-function-approximation), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.2.0.0

name changed

1.1.0.0

comment update

1.0.0.0