• 沒有找到結果。

数值计算方法 曲线拟合

N/A
N/A
Protected

Academic year: 2021

Share "数值计算方法 曲线拟合"

Copied!
53
0
0

加載中.... (立即查看全文)

全文

(1)

数值计算方法

曲线拟合

张晓平

2019 年 11 月 17 日

武汉大学数学与统计学院

(2)

Table of contents

1. 简介

2. 用最小二乘法求解矛盾方程组

3. 用多项式作最小二乘曲线拟合

1

(3)

简介

(4)

简介

在科学研究与工程技术中,经常会获取到一些数据{(xi, yi)}ni=1,如何来 确定 x 与 y 之间的函数关系呢?

虽然插值是函数逼近的一种重要方法,但存在以下缺陷:

1 测量数据不可避免带有误差,而插值函数又经过所有数据点,从 而使得插值函数保留了这些误差,从而影响了逼近精度; 2 如果实验数据较多,则需要用到次数较高的插值多项式,而高次

插值多项式数值不稳定,从而缺乏实用价值。

因此,给定一组数据,如何构造一个逼近函数 y = φ(x),使得它从总 体来说与 yi 的偏差按某种方法度量达到最小而又不一定过所有数据点, 这就是我们将要介绍的最小二乘曲线拟合法。

2

(5)

简介

在科学研究与工程技术中,经常会获取到一些数据{(xi, yi)}ni=1,如何来 确定 x 与 y 之间的函数关系呢?

虽然插值是函数逼近的一种重要方法,但存在以下缺陷:

1 测量数据不可避免带有误差,而插值函数又经过所有数据点,从 而使得插值函数保留了这些误差,从而影响了逼近精度; 2 如果实验数据较多,则需要用到次数较高的插值多项式,而高次

插值多项式数值不稳定,从而缺乏实用价值。

因此,给定一组数据,如何构造一个逼近函数 y = φ(x),使得它从总 体来说与 yi 的偏差按某种方法度量达到最小而又不一定过所有数据点, 这就是我们将要介绍的最小二乘曲线拟合法。

(6)

简介

在科学研究与工程技术中,经常会获取到一些数据{(xi, yi)}ni=1,如何来 确定 x 与 y 之间的函数关系呢?

虽然插值是函数逼近的一种重要方法,但存在以下缺陷:

1 测量数据不可避免带有误差,而插值函数又经过所有数据点,从 而使得插值函数保留了这些误差,从而影响了逼近精度;

2 如果实验数据较多,则需要用到次数较高的插值多项式,而高次 插值多项式数值不稳定,从而缺乏实用价值。

因此,给定一组数据,如何构造一个逼近函数 y = φ(x),使得它从总 体来说与 yi 的偏差按某种方法度量达到最小而又不一定过所有数据点, 这就是我们将要介绍的最小二乘曲线拟合法。

2

(7)

简介

在科学研究与工程技术中,经常会获取到一些数据{(xi, yi)}ni=1,如何来 确定 x 与 y 之间的函数关系呢?

虽然插值是函数逼近的一种重要方法,但存在以下缺陷:

1 测量数据不可避免带有误差,而插值函数又经过所有数据点,从 而使得插值函数保留了这些误差,从而影响了逼近精度;

2 如果实验数据较多,则需要用到次数较高的插值多项式,而高次 插值多项式数值不稳定,从而缺乏实用价值。

因此,给定一组数据,如何构造一个逼近函数 y = φ(x),使得它从总 体来说与 yi 的偏差按某种方法度量达到最小而又不一定过所有数据点,

这就是我们将要介绍的最小二乘曲线拟合法。

(8)

用最小二乘法求解矛盾方程组

(9)

用最小二乘法求解矛盾方程组

最小二乘原理

(10)

最小二乘原理

问题

构造曲线 y = φ(x) 来拟合数据{(xi, yi)}ni=1,“拟合得最好”的标准 是什么呢?

显然,希望选择 φ(x),使得 φ(xi) 与 yi相差都很小,即使得偏差 φ(xi) − yi, i = 1, 2,· · · , m

都很小。

3

(11)

最小二乘原理

1. 使偏差之和

m i=1

[φ(xi) − yi] 很小来保证每个偏差都很小。

但由于偏差有正有负,求和时可能 抵消。

2. 使偏差的绝对值之和

m i=1

|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。 3. 使偏差的平方和

m i=1

[φ(xi) − yi]2

最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法

(12)

最小二乘原理

1. 使偏差之和

m i=1

[φ(xi) − yi]

很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。

2. 使偏差的绝对值之和

m i=1

|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。 3. 使偏差的平方和

m i=1

[φ(xi) − yi]2

最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法

4

(13)

最小二乘原理

1. 使偏差之和

m i=1

[φ(xi) − yi]

很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。

2. 使偏差的绝对值之和

m i=1

|φ(xi) − yi| 最小。

但涉及到绝对值,不便于分析。 3. 使偏差的平方和

m i=1

[φ(xi) − yi]2

最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法

(14)

最小二乘原理

1. 使偏差之和

m i=1

[φ(xi) − yi]

很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。

2. 使偏差的绝对值之和

m i=1

|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。

3. 使偏差的平方和

m i=1

[φ(xi) − yi]2

最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法

4

(15)

最小二乘原理

1. 使偏差之和

m i=1

[φ(xi) − yi]

很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。

2. 使偏差的绝对值之和

m i=1

|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。

3. 使偏差的平方和

m i=1

[φ(xi) − yi]2 最小来保证每个偏差的绝对值都很小。

使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小 二乘法或最小二乘曲线拟合法

(16)

最小二乘原理

1. 使偏差之和

m i=1

[φ(xi) − yi]

很小来保证每个偏差都很小。但由于偏差有正有负,求和时可能 抵消。

2. 使偏差的绝对值之和

m i=1

|φ(xi) − yi| 最小。但涉及到绝对值,不便于分析。

3. 使偏差的平方和

m i=1

[φ(xi) − yi]2

最小来保证每个偏差的绝对值都很小。使“偏差平方和最小”的原 则成为最小二乘原则,按最小二乘原则拟合曲线的方法称为最小

二乘法或最小二乘曲线拟合法 4

(17)

最小二乘原理

一般地,拟合曲线 φ(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

(18)

最小二乘原理

一般地,拟合曲线 φ(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

(19)

用最小二乘法求解矛盾方程组

用最小二乘法求解矛盾方程组

(20)

用最小二乘法求解矛盾方程组

方程个数多于未知数个数的方程组称为矛盾方程组,此类方程组往往 无解。而最小二乘法是用来求解矛盾方程组的一种常用方法。

设有矛盾方程组

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

(21)

用最小二乘法求解矛盾方程组

方程个数多于未知数个数的方程组称为矛盾方程组,此类方程组往往 无解。而最小二乘法是用来求解矛盾方程组的一种常用方法。

设有矛盾方程组

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 达到最 小,则称它为矛盾方程组的最优近似解。

(22)

用最小二乘法求解矛盾方程组

方程个数多于未知数个数的方程组称为矛盾方程组,此类方程组往往 无解。而最小二乘法是用来求解矛盾方程组的一种常用方法。

设有矛盾方程组

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

(23)

用最小二乘法求解矛盾方程组

偏差平方和 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





(24)

用最小二乘法求解矛盾方程组

偏差平方和 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

(25)

用最小二乘法求解矛盾方程组

偏差平方和 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

...





(26)

用最小二乘法求解矛盾方程组

用最小二乘法求解矛盾方程组 Ax = b 1 计算 ATA 和 ATb 得法方程组;

2 求解法方程组 ATAx = ATb,得出矛盾方程组的最小二乘 解。

8

(27)

用多项式作最小二乘曲线拟合

(28)

用多项式作最小二乘曲线拟合

φ(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

(29)

用多项式作最小二乘曲线拟合

φ(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





(30)

用多项式作最小二乘曲线拟合

φ(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

(31)

用多项式作最小二乘曲线拟合

其法方程组为

ATAα = ATy

由于 x1, x2,· · · , xm 互异,故 A 的 n + 1 个列向量线性无关,从而 r(A) = n + 1。于是∀x ∈ Rn+1,都有 Ax̸= 0,由

xTATAx = (Ax)T(Ax) > 0

知 ATA 对称正定,从而 ATA 非奇异。从而上述法方程组的解存在 惟一。

(32)

用多项式作最小二乘曲线拟合

ATA =





1 1 · · · 1 x1 x2 · · · xm

... ... ... xn1 xn2 · · · xnm









1 x1 · · · xn1

1 x2 · · · xn2

... ... ... 1 xm · · · xnm





=









mm

i=1xi · · ·m i=1xni

m i=1xi

m

i=1x2i · · ·m i=1xn+1i ... ... ...

m

i=1xnim

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

(33)

用多项式作最小二乘曲线拟合

通过实验获得数据如下

xi 1 2 3 4 6 7 8 yi 2 3 6 7 5 3 2

试用最小二乘法求多项式曲线,使与此数据相拟合。

(34)

用多项式作最小二乘曲线拟合

通过实验获得数据如下

xi 1 2 3 4 6 7 8 yi 2 3 6 7 5 3 2

试用最小二乘法求多项式曲线,使与此数据相拟合。

12

(35)

用多项式作最小二乘曲线拟合

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











(36)

用多项式作最小二乘曲线拟合

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

(37)

用多项式作最小二乘曲线拟合



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











(38)

用多项式作最小二乘曲线拟合

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

(39)

用多项式作最小二乘曲线拟合

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.

(40)

用多项式作最小二乘曲线拟合

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

(41)

用多项式作最小二乘曲线拟合

图 1: 曲线拟合

(42)

用多项式作最小二乘曲线拟合

图 1: 曲线拟合

16

(43)

用多项式作最小二乘曲线拟合

在一物理实验中,电压 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

试用最小二乘法求最佳拟合函数。

(44)

用多项式作最小二乘曲线拟合

在一物理实验中,电压 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

(45)

用多项式作最小二乘曲线拟合

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

(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

(47)

用多项式作最小二乘曲线拟合

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













(48)

用多项式作最小二乘曲线拟合

( 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

(49)

用多项式作最小二乘曲线拟合

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

(50)

用多项式作最小二乘曲线拟合

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

(51)

用多项式作最小二乘曲线拟合

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

(52)

用多项式作最小二乘曲线拟合

图 2: 曲线拟合

22

(53)

用多项式作最小二乘曲线拟合

图 2: 曲线拟合

參考文獻

相關文件

某项货物的单位价格是指该项货物的贸易货值与其货量之比。季度单位价格指数是计算当季各

某项货物的单位价格是指该项货物的贸易货值与其货量之比。季度单位价格指数是计算当季各

某项货物的单位价格是指该项货物的贸易货值与其货量之比。季度单位价格指数是计算当季各

某项货物的单位价格是指该项货物的贸易货值与其货量之比。季度单位价格指数是计算当季

数值 按年变动 数值

最终求得所有 4个基函数 (针对三次 Hermite插值). 代入 4个基函数

样条插值的算例 三次样条的概念.

线性拟合与二次拟合 数据拟合的线性模型 一次多项式拟合公式..