数据拟合

使用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]的完全的一元多项式的数据拟合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值