在本论坛乱逛,无意间发现一道题目,对初学matlab拟合者或许有参考意义。
原题如下:http://www.madio.net/bbs/dispbbs.asp?boardID=110&ID=8603&page=17
我们现在来做其中的第一道拟合的题。
题目重述如下:
用表所给数据做2次和3次多项式拟合。试结合多项式拟合曲线对所得结果进行比较分析
+ P' Y* f( T! Z
拟合数据
) o! X; H) Z/ f$ t& E% L" s
7 p4 N m; F4 ]- ]* G6 B
Xi | -10 | -9 | -8 | -7 | -6 | -5 | -4 |
Yi | -1324 | -994 | -724 | -508 | -340 | -214 | -124 |
Xi | -3 | -2 | -1 | 0 | 1 | 2 | 3 |
Yi | -64 | -28 | -10 | -4 | -4 | -4 | 2 |
Xi | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Yi | 20 | 56 | 116 | 206 | 332 | 500 | 716 |
# V# _" W6 S0 q2 s. W5 p3 Y9 r
我们需要观察数据的变化趋势,用matlab画出散点图来。
先对数据进行处理得到:
x=-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
y=-1324 -994 -724 -508 -340 -214 -124 -64 -28 -10 -4 -4 -4 2 20 56 116 206 332 500 716
绘制散点图。
程序如下:
clear all
x=[-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10];
y=[-1324 -994 -724 -508 -340 -214 -124 -64 -28 -10 -4 -4 -4 2 20 56 116 206 332 500 716];
plot(x,y,'+')
运行后得到的图像:
) Y: J3 X) p3 k9 |' T5 Z. m
[attach]3935[/attach]
可见,图像的变化趋势是一个比较理想的3次函数图像。对此,我们用3次函数进行拟合。
程序如下:
clear all
format long
x=[-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10];
y=[-1324 -994 -724 -508 -340 -214 -124 -64 -28 -10 -4 -4 -4 2 20 56 116 206 332 500 716];
[p,r]=polyfit(x,y,3)
运行后的结果为:
p =
1.00000000000000 -3.00000000000000 1.99999999999999 -4.00000000000000
r =
R: [4x4 double]
df: 17
normr: 3.184820221315369e-013
故,拟合的三次函数为:
y1=x.^3-3*x.^2+1.99999999999999*x-4
我们再做出拟合后的函数图像与原来的散点图进行比较,看看拟合的效果;
程序如下:
clear all
x=[-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10];
y1=x.^3-3*x.^2+1.99999999999999*x-4;
y2=[-1324 -994 -724 -508 -340 -214 -124 -64 -28 -10 -4 -4 -4 2 20 56 116 206 332 500 716]
plot(x,y1,x,y2,'r+')
运行后得到的图像如下:
" L. R B$ N5 Q! n; Q: c
[attach]3936[/attach]
结果非常的理想。
: g [/ M4 r( J2 v! {散点图.jpg.jpg (22.57 KB, 下载次数: 139)
散点图.jpg
散点图2.jpg.jpg (26.2 KB, 下载次数: 122)
散点图2.jpg
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |