View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Function Approximation

Be the first to rate this file! 9 Downloads (last 30 days) File Size: 86.9 KB File ID: #22719 Version: 1.2
image thumbnail

Function Approximation


Ugo Pattacini (view profile)


19 Jan 2009 (Updated )

Encoding allows to represent any L2 function through a set of coefficients in a proper base.

| Watch this File

File Information

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.


[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

Required Products Spline Toolbox
Wavelet Toolbox
MATLAB release MATLAB 7.4 (R2007a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
06 Apr 2014 Hui Huang

thank you very much

Comment only
19 Jan 2009 1.1

comment update

20 Jan 2009 1.2

name changed

Contact us