原文:matlab进行离散点的曲线拟合
ployfit是matlab中基于最小二乘法的多项式拟合函数。最基础的用法如下:
C=polyfit(X,Y,N)
其中:
X : 需要拟合的点的横坐标
Y:需要拟合的点的纵坐标
N:以N阶多项式进行拟合
C:返回的N+1个拟合系数。
Y\'=polyval(C,X\')
其中:
C:N+1个拟合系数
Y\':根据X\'(横坐标)和拟合系数算出来的纵坐标
X=0:0.1:1;
Y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
C=polyfit(X,Y,2);
Z=polyval(C,X);
plot(X,Y,\'r*\',X,Z,\'b\');%n=2阶显示拟合结果
hold on
D=polyfit(X,Y,4);
M=polyval(D,X);
plot(X,M,\'r\')%n=4阶进行拟合的曲线结果
hold on
D=polyfit(X,Y,10);
M=polyval(D,X);
plot(X,M,\'g\')%n=10阶进行拟合的曲线结果
%经过上述实验n越大,即拟合阶数越大,曲线越接近离散点,但曲线越不平滑