数学建模之拟合算法

基本概念

拟合:拟合问题的目标是寻求一个函数,使得该曲线在某一准则下与所有的数据点最为接近,即曲线拟合的最好。

  • 拟合的目的是把握事物的发展方向,对事物的发展起到预测作用。

拟合和插值的区别:拟合不需要曲线经过所有给定的点,拟合的结果是得到一条确定的曲线,而插值算法得到的多项式需要经过所有的样本点,但如果样本点太多,那么多项式的次数过高,会造成龙格现象。

龙格现象:在计算方法中,有利用多项式对某一函数的近似逼近,计算相应的函数值。一般情况下,多项式的次数越多,需要的数据就越多,而预测也就越准确。插值次数越高,插值结果越偏离原函数的现象称为龙格现象。

(x_{i},y_{i}),i=1,2,...,n
y=kx+b

最小二乘法:设拟合曲线为样本点与拟合曲线最接近

  • 最小二乘为什么不用绝对值、三次方、四次方?

绝对值不容易求导,计算比较复杂;

  • 只能用于拟合函数是线性函数时,拟合结果的评价;
  • 线性函数和其他函数比较拟合的好坏可以直接看SSE;
  • 此处的线性函数是指对于参数为线性,参数仅以一次方出现,且不能乘以或除以其他任何的参数,并且不可以出现参数的符合函数形式。

引例

关于弹簧的伸长量和弹簧末端悬挂重物的质量

m50100150200250300350400450500550
e1.0001.8752.7503.2504.3754.8755.6756.5007.2508.0008.750

第一步:画出散点图

散点图
  • 代码实现
clear;clcm=[50:50:550];e=[1 1.875 2.75 3.25 4.375 4.875 5.675 6.5 7.25 8 8.75];plot(m,e,'*')xlabel('悬挂物的质量m')ylabel('弹簧的伸长量e')

第二步:使用cftool进行拟合

第三步:拟合结果

拟合得出斜率为0.01537,即e=0.3245+0.01537m

误差平方和为0.08475,拟合结果良好

发表评论

邮箱地址不会被公开。 必填项已用*标注