最小二乘抛物曲线拟合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程:数值方法
班级:2009级数学与应用数学(师范)1班 姓名:廖璐 学号:200902114020
最小二乘多项式拟合
摘要 本次实验通过利用最小二乘法的原理以及多项式讨论最小二乘抛物曲线拟合可以得到最小二乘多项式拟合,给出了实例的具体做法。
关键词 曲线拟合 最小二乘法 多项式 抛物线 正文 一.最小二乘法原理 设已知某过程
(x)
f y =的一组观测数据
N
k y x k k ,...,2,1,,=)(要求在某特定函数类寻找一个函数φ(x )作为(x)
f y
=的近似函
数,使其在x k 上的误差e k =φ(x k )-f(x k ),k=1,2,...,N 按某种形式为最小这就是拟合问题。要求误差的平方和最小的拟合为曲线拟合的最小二乘法。也可以表示为均方根误差:1/2
N
1
k 2
k k 2)
|y -)f(x |N
1
((f)∑==E 的
值最小。从几何意义上讲:就是数据点到曲线的垂直距离平方和的最小值。 二.多项式拟合
假设给定数据点
N
k y x k k ,...,2,1,,=)( ,ψ为所有次数不超过
m(m 为最小 使得∑∑=== ∈= m k k m k k n x c f 0 2 k k n ]y -)(x [f I (x)ψ。当拟合曲线为多项式时, 称为多项式拟合,满足I 的f n (x)称为最小二乘拟合多项式。特别的当n=1时,称为线性拟合或者直线拟合。本文具体探讨当n=2的情形,也就是抛物曲线拟合 三.最小二乘抛物曲线拟合 实验目的:1.掌握拟合曲线的最小二乘法的原理和基本内容 2.会利用最小二乘法求出抛物线 实验要求:1.了解最小二乘拟合曲线y=Ax 2+Bx+C 的原理和方法; 2.根据具体点求解最小二乘抛物线系数 3. 绘制出曲线拟合图 实验原理:由最小二乘抛物线y=f(x)=Ax 2+Bx+C ,通过使 2 N 1 k k k 2 k 2 2) y -C Bx Ax (f)N ∑ =++= ()(E 的值最小(即是令偏导数ɑE/ɑA,ɑE/ɑ B,ɑE/ɑC 为零)得到的函数就是拟合函数(也称最小二乘解) 实验基本步骤:1.设N 1k },{=)( y x k k 有N 个点,横坐标是确定的。首先建 立最小二乘抛物线的系数表示为y=f(x)=Ax 2+Bx+C 。通过求表达式E (A,B,C )=∑=++N k 12 k k 2 k ) y -C Bx (Ax 的最小值可得到A ,B 和C 。 2.令偏导数ɑE/ɑA,ɑE/ɑB,ɑE/ɑC 为零,可得 )(x )(2,,E 02 k 11 2k N k k k y C Bx Ax A C B A ∑=-++=∂∂=)( )(x )(2,,E 0k 1 1 2k N k k k y C Bx Ax B C B A ∑=-++=∂∂=)( (1) )(2C ,,E 01 1 2k N k k k y C Bx Ax C B A ∑=-++=∂∂=)( 利用加法分配律,可将上述中的A,B,C 移到求和的外面,以得到正规方程 ∑ ∑∑∑===== ++N k k k N k k N k k N k k x y C x B x A x 12 1 21 31 4 )()()( ∑ ∑∑∑===== ++N k k k N k k N k k N k k x y C x B x A x 1 1 1 21 3 )()()( ∑ ∑∑==== ++N k k N k k N k k y C B x A x 1 1 1 2 N )()( 3.为了在matlab 中实现可以表示成以下矩阵形式: 左边=⎪⎪⎪⎪⎪⎭ ⎫ ⎝ ⎛⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎭⎫ ⎝ ⎛∑ ∑∑∑∑∑∑∑x x x x x x x x x x x x x x x x x x x x N N N N k k k k k k k k A B C N 22 22 2 11222 21 2 1432 322 1 ...... ...11... ...1... 11 右边=⎪ ⎪⎪⎪⎪⎭ ⎫ ⎝⎛⎪ ⎪⎪⎪⎭⎫ ⎝⎛y y y x x x N ...... ...1... 11212N 22 21 N 21 x x x 因此,①首先建立一个3×N 的零矩阵B (N=length(x)以存放 ⎪⎪⎪⎪⎭⎫ ⎝⎛x x x 2N 22 21 N 21... ...1... 1 1x x x ; ②接着令F 等于一个N×3的零矩阵用来存放⎪⎪⎪⎪⎪⎭⎫ ⎝ ⎛x x x x x x N N 22 22 2 111 ...... (11) ; ③然后给F 赋值F(:,k)=x'.^(k-1);计算F 和F';