matlab中的polyfit函数。

来源:https://blog.csdn.net/zhaluo0051/article/details/77949170

       :https://blog.csdn.net/g28_gwf/article/details/84450935

Matlab做线性最小二乘拟合

函数命令为:a=polyfit(x,y,m)    % x,y为对应的自变量,m为需要拟合的最高次幂

                       y=polyval(a,x);      %根据拟合的函数得出x对应的因变量的值

函数表达形式为:f(x)=a1*x^m+...+am*x+a_m+1。

当前有数据集

x = 0 : 1 : 21;
y = [3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 92 76.5 123.2 131.7 150.7 179.3 204 226.5 251.4 281.4];

若想找出一条多项式曲线去描述此数据集,则可使用polyfit()函数与polyval()。

使用polyfit()函数获得通过当前数据集的拟合结果,最后一个参数为多项式的最高次数。

之后用polyval()函数获得当前数据集对应的输出结果。

a = polyfit(x, y, 2);
z = polyval(a, x);

作图查看拟合结果:

scatter(x, y);
hold on;
plot(x, z);

得到图像:

猜你喜欢

转载自www.cnblogs.com/MCSFX/p/10399659.html