昆明理工数值分析大课后复习最小二乘法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析实验报告
课题八曲线拟合的最小二乘法
一、问题提出
从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y与时间t的拟合曲线。
二、实验要求
t(分)0 5 10 15 20 25 30 35 40 45 50 55 y(×10-4)0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64
1、用最小二乘法进行曲线拟合;
2、近似解析表达式为ϕ( t) = a1t + a2t 2 + a3t 3;
3、打印出拟合函数ϕ(t),并打印出ϕ(t j )与y(t j)的误差,j = 1,2,",12 ;
4、另外选取一个近似表达式,尝试拟合效果的比较;
5、* 绘制出曲线拟合图﹡。
三、实验目的
1、掌握曲线拟合的最小二乘法;
2、最小二乘法亦可用于解超定线代数方程组;
3、探索拟合函数的选择与拟合精度间的关系。
四、实验原理——最小二乘法拟合
在函数的最佳平方逼近中f(x)∈[a,b],对已知函数f(x)的一组离散数据{(xi,yi),i=0,1,…m},yi=f(xi),求函数拟合S*(x),记误差δi=S*(xi)-yi 要求一个函数)(*x S y =与所给数据(){}m i y x i i ,,1,0,,⋅⋅⋅=的曲线拟合,这里()()m i x f y i i ,,1,0⋅⋅⋅==,要求一个函数)(*x S y =与所给数据
(){}
m i y x i i ,,1,0,,⋅⋅⋅=拟合,若记误差
()()()T m i i i m i y x S δδδδδδ,,,,,,,1,0210*⋅⋅⋅=⋅⋅⋅=-=,设()()()x x x n ϕϕϕ,,,10⋅⋅⋅是[]
b a C ,上线性无关函数族,在()()(){}x x x span n ϕϕϕϕ,,,10⋅⋅⋅=中找一函数()x S *,使误差平方和
()[]()()[]2
2
*
2
2
2min ∑∑∑=∈==-=-==m
i i i x S m
i m
i i i i
y x S y x S ϕ
δδ, (4.1)
这里
()()()()()m n x a x a x a x S <111100ϕϕϕ+⋅⋅⋅++=. (4.2)
这就是一般的最小二乘逼近,用几何语言说,就称为曲线拟合的最小二乘法。
用最小二乘法求拟合曲线时,首先要确定()x S 的形式。这不单纯是数学问题,还与所研究问题的运动规律及所得观测数据()i i y x ,有关;通常要从问题的运动规律或给定数据描图,确定()i x S 的形式,并通过实际计算选出较好的结果—这点将从下面的例题得到说明。()x S 的一般表达式为(4.2)式表示的线性形式。若()x k ϕ是k 次多项式,()x S 就是n 次多项式。为了使问题的提法更有一般性,通常在最小二乘法中
2
2δ都考虑为加权平方和
()()()[]2
22i i m
i i x f x S x w -=∑=δ
(4.3)
这里()0≥x w 是[]b a ,上的权函数,它表示不同点()()i i x f x ,处的数据比重不同,例如,()i x w 可表示在点()()i i x f x ,处重复观测的次数,用最小二乘法求拟合曲线的问题时,就是在形如(4.2)式的()x S 中求一函数
()x S y *=,使(4.3)式取得最小。它转化为求多元函数
()()()()2
0010,,,⎥⎦
⎤
⎢⎣⎡-=⋅⋅⋅∑∑==n j i i j j m
i i n x f x a x w a a a I ϕ (4.4)
的极小点()*
*1*0
,,,n a a a ⋅⋅⋅的问题。由求多元函数极值的必要条件,有 ()()()().,,1,0,0200n k x x f x a x w a I
i k n j i i j j m i i k ⋅⋅⋅==⎥⎦
⎤⎢⎣⎡-=∂∂∑∑==ϕϕ
五、实验设计和实验步骤
本实验利用最小二乘法和题目所给函数形式对所给数据进行拟合。而后选用不同函数形式对所给数据进行拟合得到拟合数据和所给数据的相对误差。而后在正交多项式函数组的基础上建立相对最佳基函数选择指标P 并且记录了相对最佳拟合函数。现将实验步骤陈述如下: (1) 建立正交多项式函数族建立的程序思路和拟合函数系数求解。 (2) 编辑程序进行计算记录实验结果。
(3) 对所得结果进行总结和分析,找出存在的问题,探索拟合函数
的选择与拟合精度间的关系。评价本次实验的结果。
六、编程思路
实验使用matlab工具编写了计算使用正交函数族φ=span(φ0(x),φ1(x)……φn(x))进行最小二乘法拟合的拟合函数各项系数的函数程序。这是比较简单的。并计算了其误差。现将编程思路陈述如下:
一,按照不同和拟合多项式求拟合函数及其误差:
(1)利用已知条件生成相应正交多项式函数族φ=span(φ0(x),φ1(x)……φn(x))。
(2)求格拉姆矩阵(即求其对角线元素)
G=
(3)求(φk(x),f(x))
(4)对应除以相应格拉姆矩阵对角线元素得到拟合函数系数向量a.
(5)生成拟合函数绘图并且计算原来拟合数据中对应x点的函数值,求其误差。