数据拟合

标签: MATLAB  matlab  数学建模

使用MATLAB进行简单的数据拟合

1.使用MATLAB工具箱进行数据拟合
Matlab曲线拟合工具箱
运用Matlab拟合工具箱的命令为cftool
举例使用x=0:2*pi/100:2*pi-2*pi/100100个数据点作为自变量,y=sin(x)产生因变量,利用Linear Fitting进行拟合,结果如下:
在这里插入图片描述

2.使用函数进行拟合
polyfit(x,y,N)
这是一个运用多项式拟合的函数,使用该函数拟合出来的矩阵则是N阶多项式的系数矩阵,矩阵的维数和N有关。
具体而言,yy=polyfit(x,y,N)中第一个参数传递的是拟合数据的自变量,第二个参数是因变量,第三个参数是拟合多项式的阶数,我们可以给定不同的N,运用不同的多项式进行拟合。举个栗子:

x=0:2*pi/100:2*pi-2*pi/100;
y=sin(x);
yy=polyfit(x,y,5)
plot(x,yy(1)*x.^5+yy(2)*x.^4+yy(3)*x.^3+yy(4)*x.^2+yy(5)*x+yy(6))

拟合曲线
其中,我们要如何判断阶数N呢,可以 写一个简单的误差判断程序:

for i=1:10
    yy=polyfit(x,y,i);
    Y=polyval(yy,x);
    if sum((Y-y).^2)<0.01
        c=i  
        break;
    end
end

这是一种利用多项式进行拟合的方法。
polyfit函数只适合于形如y = a[k]*x^k + a[k-1]*x^(k-1) + … + a[1]*x + a[0]的完全的一元多项式的数据拟合。

版权声明:本文为m0_46215490原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_46215490/article/details/104065157