曲线拟合的最小二乘法讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 函数逼近与曲线拟合
一、问题的提出:
函数逼近是指“对函数类A 中给定的函数)(x f ,记作A x f ∈)(,要求在另一类简的便于计算的函数类B 中求函数A x p ∈)(,使 )(x p 与)(x f 的误差在某中度量意义下最小”。函数类A 通常是区间],[b a 上的连续函数,记作],[b a C ,称为连续函数空间,而函数类B 通常为n 次多项式,有理函数或分段低次多项式等,函数逼近是数值分析的基础。主要内容有:
(1)最佳一致逼近多项式
(2)最佳平方逼近多项式
(3)曲线拟合的最小二乘法
二、实验要求:
1、构造正交多项式;
2、构造最佳一致逼近;
3、构造最佳平方逼近多项式;
4、构造最小二乘法进行曲线拟合;
5、求出近似解析表达式,打印出逼近曲线与拟合曲线,且打印出其在数据点上的偏差;
6、探讨新的方法比较结果。
三、实验目的和意义:
1、学习并掌握正交多项式的MATLAB 编程;
2、学习并掌握最佳一致逼近的MATLAB 实验及精度比较;
3、学习并掌握最佳平方逼近多项式的MATLAB 实验及精度比较;
4、掌握曲线拟合的最小二乘法;
5、最小二乘法也可用于求解超定线形代数方程组;
6、 探索拟合函数的选择与拟合精度之间的关系;
四、 算法步骤:
1、正交多项式序列的生成
{n ϕ(x )}∞
0:设n ϕ(x )是],[b a 上首项系数a ≠n 0的n 次多项式,)(x ρ为],[b a 上权函数,如果多项式序列{n ϕ(x )}
∞0
满足关系式⎩⎨⎧=>≠==⎰.,0,,
0)()()()(),(k j A k j x d x x x k
k j b
a
k j ϕϕρϕϕ
则称多项式序列{n ϕ(x )}∞
0为在],[b a 上带权)(x ρ正交,称n ϕ(x )为],[b a 上带权)(x ρ 的n 次正交多项式。
1)输入函数)(x ρ和数据b a ,;
2)分别求))(),(()),(,(x x x x j j j n
ϕϕϕ的内积; 3)按公式①)())
(),(())
(,()(,1)(1
0x x x x x x x x j n j j j
j n n
n ϕϕϕ
ϕϕϕ∑-=-
==计算)(x n ϕ,生成正交多项式;
流程图:
开始
否
是
结束
2、 最佳一致逼近多项式
],[)(b a C x f ∈,
若存在n n H x P ∈)(*使得n n E P f =∆),(*,则称)(*
x P n 是)(x f 在],[b a 上的最佳一致逼近多项式或最小偏差逼近多项式,简称最佳逼近多项式。 现在我们所求的是最佳一次逼近多项式x x P 101)(αα+=,其中
)()
()(21x f a
b b f a f '=--=
α ①
2
)()(2)()(2
20x a a b a f b f x f a f +--
+=α ② 1)输入函数)(x f 和数据b a ,; 2)计算1α和)(x f '; 3)求2x 和)(2x f ; 4)按公式②,计算0α; 5)生成最佳一次逼近多项式;
流程图:
3、最佳平方逼近多项式
对],[)(b a C x f ∈及],[b a C 中的一个子集)}(),...,(),({10x x x span n ϕϕϕϕ=,若存在
.)(*ϕ∈x S 使||.)]()()[(min
||)()(||min ||)()(2
)(22
)(22*
dx x S x f x x S x f x S x f b
a
x S x S ⎰
-=-=-∈∈ρϕϕ
则称)(*
x S 是)(x f 在子集],[b a C ⊂ϕ中的最佳平方逼近函数。
若取],1,0[)(,1)(,)(C x f x x x k
k ∈≡=ρϕ则要在n H 中求n 次最佳平方逼近多项式
,...)(**1*0*n
n x a x a a x s +++=
此时,1
1
))(),((1
++=
=
⎰
+j k dx x x x j k k j ϕϕk k k d dx x x f x x f ≡=⎰10)())(),((ϕ
若用H 表示),...,,1(n
n x x G G =对应的矩阵,既
⎥⎥
⎥⎥
⎥⎦
⎤⎢⎢⎢⎢⎢
⎣⎡+++++=⎥
⎥⎥⎥⎦⎤⎢
⎢⎢⎢⎣⎡=)12/(1)
2/(1)
1/(1)2/(13/12/1)1/(12
/11
),()
,(),(),()
,(),(),(),(),(111
10
101000n n n n n H n n n n n n n
ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ称为希尔伯特距阵,记,),...,,(,),...,,(1010T
n T n d d d d a a a a ==则d Ha =的解
),...,1,0(*
n k a a k
k ==即为所求。平方误差为))(),((||)(||||)(||0
*
22
22x f x a x f x k n
k k ϕδ∑=-=;
1)输入函数)(x f 和数据b a ,;
2)求T
n d d d d ),...,,(10=;
3)解方程组 d Ha =,解出 T
n a a a a ),...,,(10=;
4)生成最佳平方逼近多项式;