假设我们有N组数据(xi,yi),,,,,,,,这时我们根据径向基函数我们的目的主要是找到径向基函数中的位置参数的值,
我们要用这些已知数据的值用最小二乘法得到这些参数。。
现在我们用一般的方法matlb自带的插值函数进行新值得计算:
<span style="font-size:18px;">x = 0:1.25:10;
y = sin(x);
xi = 0:.1:10;
%Matlab
yi = interp1(x,y,xi);
subplot(2,1,1); plot(x,y,'o',xi,yi, xi, sin(xi),'r'); title('Interpolation using Matlab function interp1');</span>
现在我们用径向基函数的方法进行插值
1、
<span style="font-size:18px;">x = 0:1.25:10;
y = sin(x);
xi = 0:.1:10; </span>
产生数据集,和需要插值的数据
2、设定调用函数的参数
% 1D Interpolation
%**************************************************************************
x = 0:1.25:10;
y = sin(x);
xi = 0:.1:10;
%Matlab
yi = interp1(x,y,xi);
subplot(2,1,1); plot(x,y,'o',xi,yi, xi, sin(xi),'r'); title('Interpolation using Matlab function interp1');
%%
%RBF
%op=rbfcreate(x, y,'RBFFunction', 'thinplate'); rbfcheck(op);
%op=rbfcreate(x, y,'RBFFunction', 'linear'); rbfcheck(op);
%op=rbfcreate(x, y,'RBFFunction', 'cubic'); rbfcheck(op);
%op=rbfcreate(x, y,'RBFFunction', 'gaussian'); rbfcheck(op);
op=rbfcreate(x, y,'RBFFunction', 'multiquadric', 'RBFConstant', 2); rbfcheck(op);