计算方法C
(2014-2015-2)
【不同拟合曲线的比较】实验报告
学号:******* 姓名:*****8
课程教师:戴克俭教学班级:无
实验三 不同拟合曲线的比较
实验目的:
掌握曲线拟合和最小二乘法的思想,比较不同拟合曲线的精度。
实验题目:
下表给出了我国1949~1984年间的一些人口数据,分别按下述方案求最小二乘拟合函数及其偏差平方和Q ,求1969年人口并预测
方案I 拟合函数取如下形式的三次多项式
3322101)(x a x a x a a x F +++=
方案II 用离散正交多项式求三次拟合多项式)(2x F 方案III 用离散正交多项式求四次拟合多项式)(3x F 方案IV 拟合函数为如下形式的函数
10
sin
)(4x
b a x F π+=
算法流程图如下:
i、方案1 ii、方案2
iii、方案3
iv、方案4
源程序清单如下:i、方案1
图1:求3次多项式
图2:求偏差
ii、方案2
图3:求3次多项式
iii、方案3
图4:求4次多项式
图5:求sin(π*X/10)
图6:nafit函数M文件
图7:命令行输入
运算结果如下:
⑴、方案1
P(X)=745181.85611415-1135.160413656X+0.576328328X^2-0.000097520X^3 P(1969)= 11.4973750142380600 亿
P(2000)=14.3408021503128110亿
图8 拟合曲线:蓝色线表示拟合曲线P(X),红色线表示真实数据误差很大
⑵、方案2
P(X)=732370.3125-1115.615844727X+0.566389024X^2-0.000095836X^3
P(1969)= 4.1277828774182126亿
P(2000)= 6.7190460005076602亿
图9 拟合曲线:蓝色线表示拟合曲线P(X),红色线表示真实数据误差很大
⑶、方案3
P(X)=30212.5+320.9404296875X-0.5357236862X^2+0.0002799341X^3-0.000000048X^4
P(1969)= 627.7665998683078200 亿
P(2000)= 671.4145749998278900 亿
图10 拟合曲线:蓝色线表示拟合曲线P(X),红色线表示真实数据蓝色线的数值全是上百亿与实际严重不符误差巨大
⑷、方案4
P(X)=0.2414+7.7753sin(π*X/10)
P(1969)= 2.6441006951177228 亿
P(2000)= 0.2413990828363674 亿
图11 拟合曲线:蓝色线表示拟合曲线P(X),整体看该曲线具有和sin近似的周期性质,与实际数据不是很符合。
结论如下:
由上面的四种方案求出的拟合函数的图像与实际数据曲线比较,或是从Q大小来看,会发现这4种方法或多或少都会出现相应的误差。
就误差大小来看:
方案一的结果普遍比实际数据高个1倍多,按常理来说,由matlab软件封装好的求多项式系数的函数polyfit的结果不应有错,可是在本实验中,预测人数和实际人数竟然会不符,可能是软件安装的有错,此方案应该可行;方案二的结果要低个3倍多,此方案不是很对;方案三比实际数据高出几百倍,显然不对,此方案不应采纳,方案四的数据具有周期性,区域内具有最大值和最小值,二者和人口在逐年增长的事实不符合,此方案不能采用。
结论:如果排除我电脑上matlab软件安装的错误,有ployfit求出的拟合函数应该是对的。
另外3种方案,拟合3次多项式和4次多项式不应该采用,方案4最不该采用。
附:实际人口数据曲线。