怎样用matlab作数据的最小二乘拟合?

怎样用matlab作数据的最小二乘拟合?,第1张

用polyfit()语句可以,


polyfit(x,y,拟合次数n);


x,y是你的数据,n是你要进行几次拟合,填1的话为一次也就是最小二乘法拟合


你可以这样写


x=[025050751152253354455678910111213141516];


y=[3068758282776868585150413835282518151210774];


p=polyfit(x,y,1);


plot(x,y,'b',x,polyval(p,x),'r'); %如果作图的话,蓝线为原数据,红线为拟合数据。

先画散点图大致确定曲线类型。然后用polyfit,polyval函数(这两个是多项式拟合的),比如指数型,取对数就可以用。函数用法百度下就好。

用matlab如何实现曲线拟合呢?可以按照下列步骤进行:
1、数据。数据必须有因变量y和自变量x1,x2,x3,,且数据是等长的。
2、模型。根据经验自定义模型函数和已知模型函数。
3、如函数是线性的,可以使用regress()函数,如函数是非线性的,可以使用nlinfit()函数或lsqcurvefit()函数等,求出模型的拟合系数。
4、根据y数据(已知值)和yn数据(拟合值),计算其相关性(决定系数)及其置信度。
关于这方面的内容,在百度知道里有很多例子。

这个y必须是一个奇函数才行啊。
任意函数Y有都可以写成奇函数Yodd与偶函数Yeven的和的形式,用这个函数的个样点去做polyfit可以得到这个函数关于x的多项式拟合。
Y=a0+a1x+a2x^2++a(2n)x^(2n)
然后这个函数的偶对称部分的多项式拟合就对应这个多项式的偶次幂项,奇对称部分对应拟合多项式的奇次幂项:
Yodd=a0+a2x^2++a(2n)x^(2n)
Yeven=a1x+a3x^3++a(2n-1)x^(2n-1)
希望可以帮到你!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13106609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存