【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 =
列 1 至 8
0 1.3963 2.7925 4.1888 5.5851 6.9813 8.3776 9.7738
列 9 至 10
11.1701 12.5664
>> y
y =
列 1 至 7
0 0.9848 0.3420 -0.8660 -0.6428 0.6428 0.8660
列 8 至 10
-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
2.2 方法2
使用 matlab的app .curve-fitting
1)打开curve-fitting
2)导入数据
首先保证:x和y在工作变量区。
然后再下图中导入数据源。
3)开始拟合
3.总结
方法2简单直观,方便。
平时工作学习时候,注意多发现matlab中现有APP,可提升学习效率,大大节约自己的时间。
THE END~
上一篇: python线程中同步锁详解
下一篇: 陪女友和小姨子逛街