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越大,即拟合阶数越大,曲线越接近离散点,但曲线越不平滑

matlab进行离散点的曲线拟合_第1张图片

你可能感兴趣的:(matlab)