网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 时尚美容

Matlab曲线拟合fit命令1

时间:2024-10-25 11:48:58

1、给出一行数据,这里我们使用sin函数来进行数据拟合,人为的加入了一些噪声:aa = sin(0:0.05:pi);aa = aa+randn(1,63)/100;bb = 0:0.05:pi;plot(bb,aa,'bo');

Matlab曲线拟合fit命令1

2、然后就可以使用fit命令进行数据拟合了。ff = fit(bb,aa,'poly2');回车之后出现如下情况,数据报错。

Matlab曲线拟合fit命令1

3、原因比较简单,主要是需要列数据,而我们给出的是行数据。因此可以进行如下修改:aa = aa';bb = bb媪青怍牙';ff = fit(bb,aa,'poly2');可以看到ff有三个参数,这主要是poly2起到了作用,意思是二阶拟合。

Matlab曲线拟合fit命令1

4、出现上述情况可以说明已经拟合成功,但是拟合的效果怎么样呢?plot(ff,bb,aa);看图来说,效果还不错。

Matlab曲线拟合fit命令1

5、我们可以计算一下它们之间的差值。cc = -0.4185*bb.^2+1.136*bb-0.05554;dd = cc-aa;plot(dd);std(dd)ans = 0.1665

Matlab曲线拟合fit命令1

6、当然,后面的poly2也可以改成为poly10或者其他数值,后面的数值表示阶数,在比较简单的图形中,少量的阶数就可以很好的进行数据拟合,但是如果复杂的图形的话,就需要较多的阶数。比如还是以上图形,我们使用5阶;

Matlab曲线拟合fit命令1

7、将二阶和五阶的图形全部输入到figure中,我们再绘制一个sin图像,从0~pi。从图像可以看出,五阶的几乎与sin图像重合了。因此阶数越高,其函数拟合效果越好,当然计算所需的时间就会越长。

Matlab曲线拟合fit命令1
© 2025 小知经验
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com