第三章 函数 逼近 — 曲线拟合的最小二乘法
内容提要 曲线拟合 什么是曲线拟合 曲线拟合的最小二乘法 最小二乘拟合多项式
什么是曲线拟合 曲线拟合的最小二乘法 给定数据: 在函数族 中寻找函数 S*(x) ,使得 m >> n x0 x1 x2 … xm y0 y1 y2 ym 给定数据: 在函数族 中寻找函数 S*(x) ,使得 曲线拟合的最小二乘法 m >> n
其他拟合方法 使得 最小 求解复杂 使得 最小 不可导,求解困难
带权最小二乘 已知函数值表 ( xi , yi ),在函数空间 中求 S*(x) ,使得 其中 i 是点 xi 处的权 这个问题实质上是最佳平方逼近问题的离散形式。 可以将求连续函数的最佳平方逼近函数的方法直接用于求解该问题。
最小二乘求解 S(x) = a00(x) + a11(x) + · · · + ann(x) 对任意 S(x) = span{0, 1, , n},可设 S(x) = a00(x) + a11(x) + · · · + ann(x) 则求 S*(x) 等价于求下面的多元函数的最小值点 k = 0, 1, …, n 最小值点
注:此处 f 是为了描述方便而引入的一个记号 引入记号: ( k = 0, 1, … , n ) G 法方程
? 最小二乘求解 S*(x) = a0* 0(x) + a1* 1(x) + · · · + an* n(x) 法方程存在唯一解 det(G) 0 ? 0, 1, , n 线性无关 定理:如果 0, 1, , n C[a, b] 的任意(非零)线性组合在点集 x0, x1, , xm 上至多只有 n 个不同的零点,则 G 非奇异,此时法方程存在唯一解。 证明:略 上述定理中的条件称为 Haar 条件 若取 k = xk,则 0, 1, , n 满足 Haar 条件 设法方程的解为: a0*, a1*, , an* , 则最小二乘解为: S*(x) = a0* 0(x) + a1* 1(x) + · · · + an* n(x)
举例 例:给定函数值表,求 f(x) 的最小二乘拟合函数 S*(x) 解: xi 0.24 0.65 0.95 1.24 1.73 2.01 2.23 2.52 2.77 2.99 yi 0.23 -0.26 -1.10 -0.45 0.27 0.10 -0.29 0.56 1.00 解: 在坐标平面上描出上表中的数据点,根据点的分布情况,选取基函数 得法方程 解得 所以
举例 最小二乘问题中,如何选择数学模型很重要,即如何选取函数空间 = span{0, 1, , n} ,通常需要根据物理意义,或所给数据的分布情况来选取合适的数学模型。
多项式最小二乘曲线拟合 =Hn= span{1, x, ..., xn}, 即 i = xi, 则相应的法方程为 此时 为 f(x) 的 n 次最小二乘拟合多项式
举例 例:求下面数据表的二次最小二乘拟合多项式 解: xi 0.25 0.50 0.75 1.00 f (xi ) 1.0000 0.25 0.50 0.75 1.00 f (xi ) 1.0000 1.2840 1.6487 2.1170 2.7183 解: 设二次拟合多项式为 得法方程 解得 所以此组数据的二次最小二乘拟合多项式为 (1) 若题目中没有给出各点的权值 i ,默认为 i = 1 (2) 该方法不适合 n 较大时的情形 (病态问题)
带权正交(离散情形) 若 k 是首项系数非零 k 次多项式,则为正交多项式族 给定点集 以及各点的权系数 ,如果函数族 满足 给定点集 以及各点的权系数 ,如果函数族 满足 则称 关于点集 带权 正交 若 k 是首项系数非零 k 次多项式,则为正交多项式族
用正交多项式做最小二乘 设多项式 p0, p1, , pn 关于点集 x0, x1, , xm 带权 0, 1, , m 正交,则 f(x) 在 Hn 中的最小二乘拟合多项式为 其中 k = 0, 1, …, n 误差 由离散带权内积导出的范数,不是 C[a,b] 中的 2-范数
正交多项式的构造 可以证明: 关于点集 带权 正交 k = 1, … , n-1 给定 和权系数 ,如何构造正交多项式族 三项递推公式: 给定 和权系数 ,如何构造正交多项式族 三项递推公式: k = 1, … , n-1 其中 ( k = 0, 1, … , n-1 ) ( k = 1, 2, … , n-1 ) 可以证明: 关于点集 带权 正交
几点注记 可以将构造正交多项式族、解法方程、形成拟合多项式穿插进行; n 可以事先给定,或在计算过程中根据误差来决定; 该方法非常适合编程实现,只用递推公式,并且当逼近次数增加时,只要将相应地增加程序中的循环次数即可。 该方法是目前多项式拟合最好的计算方法,有通用程序。
举例 例:给定数据点及权系数,求二次最小二乘拟合多项式 解: xi 0.5 0.6 0.7 0.8 0.9 1.0 yi 1.00 1.75 0.5 0.6 0.7 0.8 0.9 1.0 yi 1.00 1.75 1.96 2.19 2.44 2.71 3.00 i 1 ex34.m 解: 通过直接计算,可得 Matlab 正交多项式最小二乘拟合函数: polyfit(x,y,n) Matlab 曲线拟合工具箱:cftool
非线性最小二乘 非线性最小二乘拟合 例:用指数函数 拟合下面的数据 例:用函数 拟合表中的数据 有时需要非线性函数,如 ,拟合给定的数据,这时建立的法方程是一个非线性方程组,这类拟合问题称为非线性最小二乘拟合。 例:用指数函数 拟合下面的数据 xi 1.00 1.25 1.50 1.75 2.00 yi 5.10 5.79 6.53 7.45 8.46 例:用函数 拟合表中的数据 xi 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 yi 1.1 1.6 1.8 2.0 1.9 1.7 1.3
其他非线性拟合方法 对数拟合: 幂函数拟合: 双曲拟合:
作业 1. 教材第 95 页:习题 17,使用下面的数据 xi 19 25 31 38 44 yi 19.0 32.3 49.9 73.3 97.8 2. 补充题,证明下面的结论: 性质:设 x0, x1, , xm 是 [a, b] 内个 m+1 个互不相同的点,对任意 f(x), g(x) Hn,n m,定义 其中i >0 为权系数,证明其构成一个内积。