数值计算方法
曲线拟合
张晓平
2019 年 11 月 17 日
武汉大学数学与统计学院
Table of contents
1. 简介
2. 用最小二乘法求解矛盾方程组
3. 用多项式作最小二乘曲线拟合
1
简介
简介
在科学研究与工程技术中,经常会获取到一些数据{(xi, yi)}ni=1,如何来 确定 x 与 y 之间的函数关系呢?
虽然插值是函数逼近的一种重要方法,但存在以下缺陷:
1 测量数据不可避免带有误差,而插值函数又经过所有数据点,从 而使得插值函数保留了这些误差,从而影响了逼近精度; 2 如果实验数据较多,则需要用到次数较高的插值多项式,而高次
插值多项式数值不稳定,从而缺乏实用价值。
因此,给定一组数据,如何构造一个逼近函数 y = φ(x),使得它从总 体来说与 yi 的偏差按某种方法度量达到最小而又不一定过所有数据点, 这就是我们将要介绍的最小二乘曲线拟合法。
2
简介
在科学研究与工程技术中,经常会获取到一些数据{(xi, yi)}ni=1,如何来 确定 x 与 y 之间的函数关系呢?
虽然插值是函数逼近的一种重要方法,但存在以下缺陷:
1 测量数据不可避免带有误差,而插值函数又经过所有数据点,从 而使得插值函数保留了这些误差,从而影响了逼近精度; 2 如果实验数据较多,则需要用到次数较高的插值多项式,而高次
插值多项式数值不稳定,从而缺乏实用价值。
因此,给定一组数据,如何构造一个逼近函数 y = φ(x),使得它从总 体来说与 yi 的偏差按某种方法度量达到最小而又不一定过所有数据点, 这就是我们将要介绍的最小二乘曲线拟合法。
简介
在科学研究与工程技术中,经常会获取到一些数据{(xi, yi)}ni=1,如何来 确定 x 与 y 之间的函数关系呢?
虽然插值是函数逼近的一种重要方法,但存在以下缺陷:
1 测量数据不可避免带有误差,而插值函数又经过所有数据点,从 而使得插值函数保留了这些误差,从而影响了逼近精度;
2 如果实验数据较多,则需要用到次数较高的插值多项式,而高次 插值多项式数值不稳定,从而缺乏实用价值。
因此,给定一组数据,如何构造一个逼近函数 y = φ(x),使得它从总 体来说与 yi 的偏差按某种方法度量达到最小而又不一定过所有数据点, 这就是我们将要介绍的最小二乘曲线拟合法。
2
简介
在科学研究与工程技术中,经常会获取到一些数据{(xi, yi)}ni=1,如何来 确定 x 与 y 之间的函数关系呢?
虽然插值是函数逼近的一种重要方法,但存在以下缺陷:
1 测量数据不可避免带有误差,而插值函数又经过所有数据点,从 而使得插值函数保留了这些误差,从而影响了逼近精度;
2 如果实验数据较多,则需要用到次数较高的插值多项式,而高次 插值多项式数值不稳定,从而缺乏实用价值。
因此,给定一组数据,如何构造一个逼近函数 y = φ(x),使得它从总 体来说与 yi 的偏差按某种方法度量达到最小而又不一定过所有数据点,
这就是我们将要介绍的最小二乘曲线拟合法。
用最小二乘法求解矛盾方程组
用最小二乘法求解矛盾方程组
最小二乘原理
最小二乘原理
问题
构造曲线 y = φ(x) 来拟合数据{(xi, yi)}ni=1,“拟合得最好”的标准 是什么呢?
显然,希望选择 φ(x),使得 φ(xi) 与 yi相差都很小,即使得偏差 φ(xi) − yi, i = 1, 2,· · · , m
都很小。
3
最小二乘原理
1. 使偏差之和
∑m i=1
[φ(xi) − yi] 很小来保证每个偏差都很小。
但由于偏差有正有负,求和时可能 抵消。
2. 使偏差的绝对值之和
∑m i=1
|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。 3. 使偏差的平方和
∑m i=1
[φ(xi) − yi]2
最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法
最小二乘原理
1. 使偏差之和
∑m i=1
[φ(xi) − yi]
很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。
2. 使偏差的绝对值之和
∑m i=1
|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。 3. 使偏差的平方和
∑m i=1
[φ(xi) − yi]2
最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法
4
最小二乘原理
1. 使偏差之和
∑m i=1
[φ(xi) − yi]
很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。
2. 使偏差的绝对值之和
∑m i=1
|φ(xi) − yi| 最小。
但涉及到绝对值,不便于分析。 3. 使偏差的平方和
∑m i=1
[φ(xi) − yi]2
最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法
最小二乘原理
1. 使偏差之和
∑m i=1
[φ(xi) − yi]
很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。
2. 使偏差的绝对值之和
∑m i=1
|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。
3. 使偏差的平方和
∑m i=1
[φ(xi) − yi]2
最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法
4
最小二乘原理
1. 使偏差之和
∑m i=1
[φ(xi) − yi]
很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。
2. 使偏差的绝对值之和
∑m i=1
|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。
3. 使偏差的平方和
∑m i=1
[φ(xi) − yi]2 最小来保证每个偏差的绝对值都很小。
使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法
最小二乘原理
1. 使偏差之和
∑m i=1
[φ(xi) − yi]
很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。
2. 使偏差的绝对值之和
∑m i=1
|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。
3. 使偏差的平方和
∑m i=1
[φ(xi) − yi]2
最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小
二乘法或最小二乘曲线拟合法 4
最小二乘原理
一般地,拟合曲线 φ(x) 是 n 个线性无关函数 φ1(x), φ2(x),· · · , φn(x) 的线性组合,即
φ(x) = a1φ1(x) + a2φ2(x) +· · · + anφn(x), m > n
其中 a1, a2,· · · , an 待定,线性无关函数组 φ1(x), φ2(x),· · · , φn(x) 称 为基函数。
常用的基函数有 1 多项式:1, x, x2,· · · , xn
2 三角函数:sin x, sin 2x,· · · , sin nx 3 指数函数:eλ1x, eλ2x,· · · , eλnx
最小二乘原理
一般地,拟合曲线 φ(x) 是 n 个线性无关函数 φ1(x), φ2(x),· · · , φn(x) 的线性组合,即
φ(x) = a1φ1(x) + a2φ2(x) +· · · + anφn(x), m > n
其中 a1, a2,· · · , an 待定,线性无关函数组 φ1(x), φ2(x),· · · , φn(x) 称 为基函数。常用的基函数有
1 多项式:1, x, x2,· · · , xn
2 三角函数:sin x, sin 2x,· · · , sin nx 3 指数函数:eλ1x, eλ2x,· · · , eλnx
5
用最小二乘法求解矛盾方程组
用最小二乘法求解矛盾方程组
用最小二乘法求解矛盾方程组
方程个数多于未知数个数的方程组称为矛盾方程组,此类方程组往往 无解。而最小二乘法是用来求解矛盾方程组的一种常用方法。
设有矛盾方程组
∑n j=1
aijxj= bi, i = 1, 2,· · · , m; m > n
令
δi=
∑n j=1
aijxj− bi, i = 1, 2,· · · , m, 偏差 按最小二乘原则,常采用偏差的平方和
Q =
∑m i=1
δ2i =
∑m i=1
∑n
j=1
aijxj− bi
2
达到最小来衡量一个近似解近似程度的重要标志。若 xj使得 Q 达到最 小,则称它为矛盾方程组的最优近似解。
6
用最小二乘法求解矛盾方程组
方程个数多于未知数个数的方程组称为矛盾方程组,此类方程组往往 无解。而最小二乘法是用来求解矛盾方程组的一种常用方法。
设有矛盾方程组
∑n j=1
aijxj= bi, i = 1, 2,· · · , m; m > n
令
δi=
∑n j=1
aijxj− bi, i = 1, 2,· · · , m, 偏差 按最小二乘原则,常采用偏差的平方和
Q =
∑m i=1
δ2i =
∑m i=1
∑n
j=1
aijxj− bi
2
达到最小来衡量一个近似解近似程度的重要标志。
若 xj使得 Q 达到最 小,则称它为矛盾方程组的最优近似解。
用最小二乘法求解矛盾方程组
方程个数多于未知数个数的方程组称为矛盾方程组,此类方程组往往 无解。而最小二乘法是用来求解矛盾方程组的一种常用方法。
设有矛盾方程组
∑n j=1
aijxj= bi, i = 1, 2,· · · , m; m > n
令
δi=
∑n j=1
aijxj− bi, i = 1, 2,· · · , m, 偏差 按最小二乘原则,常采用偏差的平方和
Q =
∑m i=1
δ2i =
∑m i=1
∑n
j=1
aijxj− bi
2
达到最小来衡量一个近似解近似程度的重要标志。若 xj使得 Q 达到最 小,则称它为矛盾方程组的最优近似解。
6
用最小二乘法求解矛盾方程组
偏差平方和 Q 可看作是 n 个自变量 xj 的二次函数,因此求解矛盾方 程组的问题归结为求二次函数 Q 的最小值问题。
Q 取得极值的必要条 件是
∂Q
∂xk
= 0, k = 1, 2,· · · , n 即
0 = ∂Q
∂xk
=
∑m i=1
2
∑n
j=1
aijxj− bi
aik= 2
∑n j=1
( m
∑
i=1
aijaik
) xj− 2
∑m i=1
aikbi
其矩阵形式为
ATAx = ATb, → 法方程组 其中
A =
a11 a12 · · · a1n
a21 a22 · · · a2n
... ... ... am1 am2 · · · amn
, x =
x1
x2
... xn
, b =
b1
b2
... bm
用最小二乘法求解矛盾方程组
偏差平方和 Q 可看作是 n 个自变量 xj 的二次函数,因此求解矛盾方 程组的问题归结为求二次函数 Q 的最小值问题。Q 取得极值的必要条 件是
∂Q
∂xk
= 0, k = 1, 2,· · · , n 即
0 = ∂Q
∂xk
=
∑m i=1
2
∑n
j=1
aijxj− bi
aik= 2
∑n j=1
( m
∑
i=1
aijaik
) xj− 2
∑m i=1
aikbi
其矩阵形式为
ATAx = ATb, → 法方程组 其中
A =
a11 a12 · · · a1n
a21 a22 · · · a2n
... ... ... am1 am2 · · · amn
, x =
x1
x2
... xn
, b =
b1
b2
... bm
7
用最小二乘法求解矛盾方程组
偏差平方和 Q 可看作是 n 个自变量 xj 的二次函数,因此求解矛盾方 程组的问题归结为求二次函数 Q 的最小值问题。Q 取得极值的必要条 件是
∂Q
∂xk
= 0, k = 1, 2,· · · , n 即
0 = ∂Q
∂xk
=
∑m i=1
2
∑n
j=1
aijxj− bi
aik= 2
∑n j=1
( m
∑
i=1
aijaik
) xj− 2
∑m i=1
aikbi
其矩阵形式为
ATAx = ATb, → 法方程组 其中
A =
a11 a12 · · · a1n
a21 a22 · · · a2n
... ... ...
, x =
x1
x2
...
, b =
b1
b2
...
用最小二乘法求解矛盾方程组
用最小二乘法求解矛盾方程组 Ax = b 1 计算 ATA 和 ATb 得法方程组;
2 求解法方程组 ATAx = ATb,得出矛盾方程组的最小二乘 解。
8
用多项式作最小二乘曲线拟合
用多项式作最小二乘曲线拟合
设
φ(x) = a0+ a1x + a2x2+· · · + anxn (m > n + 1) 依最小二乘原理,给定{(xi, yi)}mi=1,确定 aj 使得偏差平方和最小。
于 是可得到一个 m + 1 个未知数 aj 的 n 个方程的矛盾方程组
a0+ a1x1+ a2x12+· · · + anxn1 = y1, a0+ a1x2+ a2x22+· · · + anxn2 = y2,
· · ·
a0+ a1xm+ a2xm2 +· · · + anxnm = ym, 其矩阵形式为
Aα = y, 其中
A =
1 x1 · · · xn1
1 x2 · · · xn2
... ... ... 1 xm · · · xnm
, α =
a0
a1
... an
, y =
y1
y2
... ym
9
用多项式作最小二乘曲线拟合
设
φ(x) = a0+ a1x + a2x2+· · · + anxn (m > n + 1)
依最小二乘原理,给定{(xi, yi)}mi=1,确定 aj 使得偏差平方和最小。于 是可得到一个 m + 1 个未知数 aj 的 n 个方程的矛盾方程组
a0+ a1x1+ a2x12+· · · + anxn1 = y1, a0+ a1x2+ a2x22+· · · + anxn2 = y2,
· · ·
a0+ a1xm+ a2xm2 +· · · + anxnm = ym,
其矩阵形式为
Aα = y, 其中
A =
1 x1 · · · xn1
1 x2 · · · xn2
... ... ... 1 xm · · · xnm
, α =
a0
a1
... an
, y =
y1
y2
... ym
用多项式作最小二乘曲线拟合
设
φ(x) = a0+ a1x + a2x2+· · · + anxn (m > n + 1)
依最小二乘原理,给定{(xi, yi)}mi=1,确定 aj 使得偏差平方和最小。于 是可得到一个 m + 1 个未知数 aj 的 n 个方程的矛盾方程组
a0+ a1x1+ a2x12+· · · + anxn1 = y1, a0+ a1x2+ a2x22+· · · + anxn2 = y2,
· · ·
a0+ a1xm+ a2xm2 +· · · + anxnm = ym, 其矩阵形式为
Aα = y, 其中
A =
1 x1 · · · xn1
1 x2 · · · xn2
... ... ... 1 xm · · · xnm
, α =
a0
a1
... an
, y =
y1
y2
... ym
9
用多项式作最小二乘曲线拟合
其法方程组为
ATAα = ATy
由于 x1, x2,· · · , xm 互异,故 A 的 n + 1 个列向量线性无关,从而 r(A) = n + 1。于是∀x ∈ Rn+1,都有 Ax̸= 0,由
xTATAx = (Ax)T(Ax) > 0
知 ATA 对称正定,从而 ATA 非奇异。从而上述法方程组的解存在 惟一。
用多项式作最小二乘曲线拟合
ATA =
1 1 · · · 1 x1 x2 · · · xm
... ... ... xn1 xn2 · · · xnm
1 x1 · · · xn1
1 x2 · · · xn2
... ... ... 1 xm · · · xnm
=
m ∑m
i=1xi · · · ∑m i=1xni
∑m i=1xi
∑m
i=1x2i · · · ∑m i=1xn+1i ... ... ...
∑m
i=1xni ∑m
i=1xn+1i · · · ∑m i=1x2ni
计算系数矩阵时,只需计算 m,
∑m i=1
xi,
∑m i=1
x2i, · · · ,
∑m i=1
xni,
∑m i=1
xn+1i , · · · ,
∑m i=1
x2ni
11
用多项式作最小二乘曲线拟合
例
通过实验获得数据如下
xi 1 2 3 4 6 7 8 yi 2 3 6 7 5 3 2
试用最小二乘法求多项式曲线,使与此数据相拟合。
用多项式作最小二乘曲线拟合
例
通过实验获得数据如下
xi 1 2 3 4 6 7 8 yi 2 3 6 7 5 3 2
试用最小二乘法求多项式曲线,使与此数据相拟合。
12
用多项式作最小二乘曲线拟合
解
1 确定近似表达式
y = φ(x) = a0+ a1x + a2x2
2 建立法方程组
1 1 1 1 2 4 1 3 9 1 4 16 1 6 36 1 7 49 1 8 64
a0
a1
a2
=
2 3 6 7 5 3 2
用多项式作最小二乘曲线拟合
解
1 确定近似表达式
y = φ(x) = a0+ a1x + a2x2
2 建立法方程组
1 1 1 1 2 4 1 3 9 1 4 16 1 6 36 1 7 49 1 8 64
a0
a1
a2
=
2 3 6 7 5 3 2
13
用多项式作最小二乘曲线拟合
解
1 1 1 1 1 1 1 1 2 3 4 6 7 8 1 4 9 16 36 49 64
1 1 1 1 2 4 1 3 9 1 4 16 1 6 36 1 7 49 1 8 64
a0
a1
a2
=
1 1 1 1 1 1 1 1 2 3 4 6 7 8 1 4 9 16 36 49 64
2 3 6 7 5 3
用多项式作最小二乘曲线拟合
解
3 求解法方程组
7 31 179 31 179 1171 179 1171 8147
a0
a1
a2
=
28 121 635
得
a0= −1.3185, a1= 3.4321, a2= −0.3864 故所求拟合曲线为
y = φ(x) = −1.3185 + 3.4321x − 0.3864x2.
15
用多项式作最小二乘曲线拟合
解
3 求解法方程组
7 31 179 31 179 1171 179 1171 8147
a0
a1
a2
=
28 121 635
得
a0= −1.3185, a1= 3.4321, a2= −0.3864
故所求拟合曲线为
y = φ(x) = −1.3185 + 3.4321x − 0.3864x2.
用多项式作最小二乘曲线拟合
解
3 求解法方程组
7 31 179 31 179 1171 179 1171 8147
a0
a1
a2
=
28 121 635
得
a0= −1.3185, a1= 3.4321, a2= −0.3864 故所求拟合曲线为
y = φ(x) = −1.3185 + 3.4321x − 0.3864x2.
15
用多项式作最小二乘曲线拟合
图 1: 曲线拟合
用多项式作最小二乘曲线拟合
图 1: 曲线拟合
16
用多项式作最小二乘曲线拟合
例
在一物理实验中,电压 V 与电流 I 的一组数据如下
V 1 2 3 4 5 6 7 8
I 1.53 2.05 2.74 3.66 4.91 6.56 8.78 11.76
试用最小二乘法求最佳拟合函数。
用多项式作最小二乘曲线拟合
例
在一物理实验中,电压 V 与电流 I 的一组数据如下
V 1 2 3 4 5 6 7 8
I 1.53 2.05 2.74 3.66 4.91 6.56 8.78 11.76
试用最小二乘法求最佳拟合函数。
17
用多项式作最小二乘曲线拟合
解
1 确定近似表达式
I = aebV ⇒ ln I = ln a + bV
V 1 2 3 4 5 6 7 8
I 1.53 2.05 2.74 3.66 4.91 6.56 8.78 11.76
V 1 2 3 4 5 6 7 8
ln I 0.43 0.72 1.01 1.30 1.59 1.88 2.17 2.46
用多项式作最小二乘曲线拟合
解
1 确定近似表达式
I = aebV ⇒ ln I = ln a + bV
V 1 2 3 4 5 6 7 8
I 1.53 2.05 2.74 3.66 4.91 6.56 8.78 11.76
V 1 2 3 4 5 6 7 8
ln I 0.43 0.72 1.01 1.30 1.59 1.88 2.17 2.46
18
用多项式作最小二乘曲线拟合
解
2 建立法方程组
1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8
( ln a
b )
=
0.43 0.72 1.01 1.30 1.59 1.88 2.17 2.46
用多项式作最小二乘曲线拟合
解
( 1 1 1 1 1 1 1 1 1 2 3 5 4 6 7 8
)
1 1 1 2 1 3 1 4 1 6 1 7 1 8
( ln a
b )
=
( 1 1 1 1 1 1 1 1 1 2 3 5 4 6 7 8
)
2.7 3.0 3.3 3.6 3.9 4.2 4.5 4.8
20
用多项式作最小二乘曲线拟合
解
3 求解法方程组 ( 8 36
36 204
) ( ln a b
)
=
( 29.9787 147.1350
)
得
ln a = 0.1343 ⇒ a = 1.14393 b = 0.2912
故所求拟合曲线为
I = 1.14393e0.2912V
用多项式作最小二乘曲线拟合
解
3 求解法方程组 ( 8 36
36 204
) ( ln a b
)
=
( 29.9787 147.1350
)
得
ln a = 0.1343 ⇒ a = 1.14393 b = 0.2912
故所求拟合曲线为
I = 1.14393e0.2912V
21
用多项式作最小二乘曲线拟合
解
3 求解法方程组 ( 8 36
36 204
) ( ln a b
)
=
( 29.9787 147.1350
)
得
ln a = 0.1343 ⇒ a = 1.14393 b = 0.2912
故所求拟合曲线为
I = 1.14393e0.2912V
用多项式作最小二乘曲线拟合
图 2: 曲线拟合
22
用多项式作最小二乘曲线拟合
图 2: 曲线拟合