欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【MATLAB】一文教你学会“曲线拟合”的2种方法(详细)

程序员文章站 2022-07-05 18:52:25
...

创作时间:2020-11-02

目录:
1.为什么要曲线拟合?
2.方法1和方法2
3.总结

1.为什么要进行曲线拟合?
其实就是 预测!!!
对于数目较大的、自然发展的、没有剧烈变动的事物进行预测,把握事物发展方向。
通过数学建模,以一种公式表达式来反映这种变化规律。

2.1方法1
首先我们先生成一组数据

x = linspace(0,4*pi,10);
y = sin(x); 


x =18

         0    1.3963    2.7925    4.1888    5.5851    6.9813    8.3776    9.7738910

   11.1701   12.5664

>> y

y =17

         0    0.9848    0.3420   -0.8660   -0.6428    0.6428    0.8660810

   -0.3420   -0.9848   -0.0000

使用matlab 的==polyfit ==,polyval函数

1)使用 polyfit 将一个 7 次多项式与这些点拟合。

p = polyfit(x,y,7);  %7表示用7阶多项式,阶数越高越精准

p是什么意思呢?

p =

   -0.0001    0.0028   -0.0464    0.3702   -1.3808    1.9084   -0.1141    0.0002

p表示可以使用y= -0.0001x^7+ 0.0028x^6+…±0.1141*x+ 0.0002拟合表示
2)然后polyval

x = linspace(0,4*pi);
y1 = polyval(p,x);%把x代入拟合公式p(即就是y= -0.0001*x^7+ 0.0028*x^6+...+-0.1141*x+ 0.0002),求出y1

到这一步,已经得到了多项式拟合公式的表达式。
3) 接着可以对比下拟合的效果(此步骤可以去掉)

figure
plot(x,y,'o')
hold on
plot(x,y1)
hold off

【MATLAB】一文教你学会“曲线拟合”的2种方法(详细)

2.2 方法2
使用 matlab的app .curve-fitting
1)打开curve-fitting
【MATLAB】一文教你学会“曲线拟合”的2种方法(详细)
2)导入数据
首先保证:x和y在工作变量区。
【MATLAB】一文教你学会“曲线拟合”的2种方法(详细)

然后再下图中导入数据源。
【MATLAB】一文教你学会“曲线拟合”的2种方法(详细)
3)开始拟合
【MATLAB】一文教你学会“曲线拟合”的2种方法(详细)

3.总结

方法2简单直观,方便。
平时工作学习时候,注意多发现matlab中现有APP,可提升学习效率,大大节约自己的时间。


THE END~