diffuse
Name
diffuse — diffuse approximation or interpolation (also known as moving least squares or MLS)
Calling Sequence
u_set = diffuse(x_data_input, u_data, x_set_input, [n_deg, interpolation, w_sing, epsilon, factor_dim,
factor_r_max, ri_strategy, r_max_user])
Parameters
x_data_input : matrix (M,N) of training data inputs (M: number of samples ; N: number of components of each
sample input)
u_data : matrix (M,P) of training outputs (M: number of samples ; N: number of components of each
sample output)
x_set_input: matrix (Q,N) of inputs (Q: number of samples ; N: number of components of each sample input)
n_deg: degree of the polynomial basis [= 2 by default]
interpolation: 0: approximation / 1: interpolation [= 1 by default]
w_sing: 0 : non-singular MLS weights / 1 : singular MLS weights / 2 : least squares (all weights share the
same value) [by default: 1]
-10
epsilon: epsilon value used for singular weights [by default: 10 ]
factor_dim: parameter used in the definition of the influence zone (see Reference) [by default: 1]
factor_r_max: parameter used in the definition of the radius of influence (see Reference) [by default: 1]
ri_strategy: 0 : the radius of influence is the same for all points belonging to x_set_input / 1 the radius of
influence is constant and provided by the user / 2 : the radius of influence is calculated
separately for each point of x_set_input
r_max_user: radius of influence value chosen by the user if ri_strategy = 1 [by default: 0.2]
Description
“diffuse” computes the diffuse (= MLS) approximation or interpolation for a given set of input vectors, based on an
training database of input data and corresponding output results.
References
“An Introduction to Moving Least Squares Mehfree Methods”, P. Breitkopf, A. Rassineux, P. Villon, Revue
européenne des éléments finis, volume 11, n.7-8/2002.
Examples
A_inp = [ 0; 1; 2; 3; 4; 8];
A_out = [ -1; 1.4; 2.2; 2.8; 3.1; 2.5];
//
B_inp = [ 1.23; 6.5];
//
B_out = diffuse(A_inp,A_out,B_inp);
See Also
interp, splin, lsq_splin