matlab多项式的拟合与插值例题_数据拟合_Matlab

  1. 数据插值方法
x=0:10;
y=sin(x);
xi=0:.15:10;
yi1=interp1(x,y,xi,'nearest');%最邻近插值
yi2=interp1(x,y,xi,'linear');%线性插值
yi3=interp1(x,y,xi,'spline');%三次样条插值
yi4=interp1(x,y,xi,'cubic');%立方插值
subplot(2,2,1);
plot(xi,yi1,xi,yi1,'r.');
subplot(2,2,2);
plot(xi,yi2,xi,yi2,'r.');
subplot(2,2,3);
plot(xi,yi3,xi,yi3,'r.');
subplot(2,2,4);
plot(xi,yi4,xi,yi4,'r.');

测试结果

matlab多项式的拟合与插值例题_数据拟合_Matlab_第1张图片

2.拟合方法

  • Polyfit Function

[p,s]=polyfit(x,y,n);返回多项式系数向量p和矩阵s,s与polyval函数一起用时,可以得到预测值的误差估计。

[p,s,mu]=polyfit(x,y,n);返回多项式的系数,利用该函数进行多项式曲线拟合评价。

  • Polyval Function

y=polyval(p,x);返回n阶多项式在x处的值,x可以时一个矩阵或者一个向量,向量p是n+1个以降序排列的多项式的系数。

[y,delta]=polyval(p,x,s);

[y,delta]=polyval(p,x,s,mu);产生置信区间y±delta。

y=polyval(p,x,[],mu);用x=(x-u1)/u2替代x,其中mu是一个二维向量,这样数据更为合理化。

matlab多项式的拟合与插值例题_数据拟合_Matlab_第2张图片
T=[20.5 32.7 51 73 95.7];
R=[765 826 873 942 1032];
a=polyfit(T,R,1);
y=poly2str(a,'T');%电阻-温度关系
plot(T,R,'r','markersize',14);
hold on;
Y=polyval(a,T);
plot(T,Y,'b');
polyval(a,60);%60度时的电阻值

结果:

matlab多项式的拟合与插值例题_数据拟合_Matlab_第3张图片

matlab多项式的拟合与插值例题_数据拟合_Matlab_第4张图片c

matlab多项式的拟合与插值例题_数据拟合_Matlab_第5张图片
cftool

你可能感兴趣的:(matlab多项式的拟合与插值例题_数据拟合_Matlab)