Code covered by the BSD License

### Highlights from Function Approximation

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

# 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.

File Information
Description

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

Required Products Spline Toolbox
Wavelet Toolbox
MATLAB release MATLAB 7.4 (R2007a)
06 Apr 2014 Hui Huang

### Hui Huang (view profile)

thank you very much

Comment only