email: kdhc@163 -...

43
Email: [email protected]

Upload: others

Post on 29-Oct-2019

27 views

Category:

Documents


0 download

TRANSCRIPT

数 值 分 析

韩 超

Email: [email protected]

参考书目 (Reference)

数值分析, 李庆扬编, 清华大学出版社

计算方法典型题分析解集, 封建湖编, 西北工业大学出版社

数值分析学习辅导习题解析, 李红编, 华中科技大学出版社

Numerical Analysis (Third Edition)

David Kincaid & Ward Cheney

数值分析(第三版), 王国荣译, 机械工业出版社

许多科学研究与工程设计问题最终都归结为一个数学问题,它就是一个数学模型,通过求解这个数学模型,并对所获得的数据分析,达到科学的真缔与工程的完美;

但是数学模型可能非常复杂,求出它的准确解几乎不可能,因此寻求它的近似解就非常重要,如何得到它的近似解(包括解析的和数值的)?

近似(值)是一个普遍现象,从日常生活到科学研究、工程设计无处不在,对一些复杂的(自然或社会)现象以及工程设计问题我们完全可以用近似数据去解释去完善;数值仿真已经成为科学研究与工程设计中非常重要的方法或手段。

现代计算机的发展为大量复杂数学模型的求解奠定了基础,使得数值计算技术的发展获得了巨大的支撑;

求近似数据的关键途径就是学习或研究数学问题的“计算方法”或“数值分析”,也称为“科学与工程计算”。

为什么学习数值计算方法?

各种假设、物理原理等 设计算法

数学模型 数值算法实际问题

如:天气预报 如:概率统计模型 如:线性方程组算法

产品设计等 微分方程模型等 数值积分算法等

程序等语言

,如:

程序设计

执行算法 

数据

给定输入

大堆数据

可能是一

数值结果

实际问题

就是模拟

可视化编译运行数值仿真

MATLABC

FORTRAN

,

解决实际问题的理想化过程

第一章 绪 论

第二章 线性方程组的直接解法

第三章 函数插值

第四章 函数逼近

第五章 数值积分法

第六章 线性方程组的迭代解法

第七章 非线性方程(组)的数值解法

第八章 数值最优化

第九章 常微分方程的数值解法

第十章 矩阵特征值问题的数值解法

第一章 绪 论

§1 课程研究的内容和构造算法的主要途径

§2 误差

§3 有效算法要具备的条件

§4 灵敏度分析

§5 向量范数与矩阵范数

§1 研究内容和构造算法的主要途径

研究数学问题数值解的计算方法,

即研究算法的。

1 哪些数学问题?

大型线性方程组Ax=b求解;

矩阵A的特征值和特征向量计算;

非线性方程 的求解(求根);

积分 计算;

常微分方程初值问题求解;

函数逼近等

( ) 0f x

( )b

af x dx

一 研究对象:

2 研究数值解的必要性

例1 常微分方程初值问题 1 2

(0) 0

y xy

y

其解析解(精确解)为: 2 2

0( )

xx t

y x e e dt

要求计算 (1), (1.5)y y 等近似值。

3 构造算法的主要思想

迭代法

以直线代替曲线(非线性问题线性化)

化整为零(离散化)

外推法(加速)

二 数值计算原则

好算法的三个标准:

快 — 计算步骤少,收敛速度快

准 — 数值稳定性好,计算结果可靠性高

省 — 节省计算机内存(大型稀疏矩阵问题)

1. 快:计算步骤少,收敛速度快

例2 多项式求值的Hornor算法(秦九韶算法P7)

1

1 1 0( )

n n

n n nP x a x a x a x a

给定x的值,计算 的值。 ( )n

P x

算法1:按自然顺序计算

乘法次数= ( 1)

( 1) 12

n nn n

加法次数= n

算法2: 嵌套算法(Hornor,秦九韶)

乘法次数=加法次数= n

1 2 1 0( ) ((( ) ) )

n n n nP x a x a x a x a x a

nnnnnn

nn

nn

bxaxaxa

bxaxaxa

bxaxaxa

2211

22222121

11212111

例3 解线性方程组

算法1: Cramer法则

乘除法次数An=

),,,2,1(, niD

Dx i

i nnjjj aaaD

21 21)1(

nnnn )1)(1(!

,107.9,2020

20 An如 假设计算机1秒钟进行

1亿=108次乘除法,共需时:

.t

20

1 8

9 7 10

10 60 60 24 365(万年) 30

算法2: Gauss消去法

乘除法次数: nnnAn3

1

3

1 23

306020 A

耗时: t 5

23 10 (秒)

例5 计算积分的梯形公式与Simpson公式;

非线性方程求根,Newton法比二分法快。

例4 如FFT(快速傅立叶变换)

);( cbaacab 零乘一个数省去

2. 准:数值稳定性好,计算结果可靠性高

例6 求根 ,假设计算机有尾数为5位, 2

56 1 0x x

算法1:

128 783 55.982x

算法2:

783 27.982

1,2

56 783 428 783

2x

228 783 0.018x

128 783 55.982x

2

1 10.017863

55.98228 783x

0178628.0

*2 x注:

a

cxx

a

bxx

acbxax

2121

2

,

),0(0

韦达定理:

例7 计算积分

11

0( ) (1.1) ( 0,1,2, ,9)

n xI n e x e dx n

由分部积分法可得 ( ) 1 ( 1)I n nI n

取迭代初值

由递推公式 11

n nI nI

计算得 1 8 9

0.3679, , 0.7280, 7.552I I I

1(0) 1I e

算法1: 直接积分

01 ~

6321.01)0( IeI

1

0

1dxxe

n

算法不稳定,结果不可靠。

1

0

1dxexeI

xnn

,9

1

9

18 I

e

1

1

n

en )1(

1

1

0

1edxxe

n

10

1

10

19 I

e

552.7~

,7280.0~

98 II而

可见递推计算结果严重失真。

1

1( 10,9, ,2,1)n

n

II n

n

将迭代格式 变形成如下格式 1

1n n

I nI

计算结果相当好

10 ( ) 0

1I n

n

算法2 易知

100I

算法稳定,结果可靠。

1) 稳定性: 若一种算法的初始误差和舍入误差在运算

过程中不增长,则称此算法是稳定的。

11 ( 1,2, ,9) ( )

n nI nI n

2) 误差分析

算法1

记 ( )n n

I n I

则 1

( ) (1 ( 1)) (1 )n n n

I n I nI n nI

1 1( ( 1) )

n nn I n I n

2 0[ ( 1) ( 1) !]

n

nn nn

误差逐渐增大,(*)式不稳定

算法2

记 ( )n n

I n I

则 1 1

1 1( 1) (1 ( )) (1 )

n n nI n I I n I

n n

( )n n

I n I

n n

0( 1)

!

n n

n

误差没有增大,算法稳定.

1

1( 10,9, ,2,1)n

n

II n

n

所以

为了“准”,要注意的原则

1. 防止大数吃小数

110*2

9*1 x,x精确解:

利用求根公式 a

acbbx

2

42

在计算机内,109存为0.11010,1存为0.1101。做加法时,

两加数的指数先向大指数对齐,再将浮点部分相加。即1 的指数

部分须变为1010,则:1 = 0.0000000001 1010,取单精度时就成

为:109+1=0.100000001010+0.00000000 1010=0.10000000 1010

大数吃小数

02

4,10

2

42

2

92

1

a

acbbx

a

acbbx

的根。用单精度计算例 010)110(8992 xx

算法1:

先解出 再利用

92

1 102

4)(

a

acbbsignbx

110

109

9

1

221

xa

cx

a

cxx

注:求和时从小到大相加,可使和的误差减小。

2: 按从小到大、以及从大到小的顺序分别计算

1 + 2 + 3 + … + 40 + 109

算法2:

如1: 在五位十进制计算机上计算

韦达定理

9.01.0,512341000

1

ii

iA

.

2)(,2

)()()(

的导数值

处在求利用

xxxfh

hxfhxfxf

h

hxhxxf

2)(

h

hhf

2

22)2(

,0001.0h取

0002.0

4142.14142.1)2(

f

353553.022

1)2( f精确值

:4位机上在

0

2. 防止相近的数相减

例9

解决办法:

,0001.04 h位机上仍取在 .35356.0)2( f计算有

h

hhf

2

222

)(

通常情况下: ;xεx

εxεx

;1lnlnln

x

εxεx

当 | x | << 1 时: ;2

sin2cos12 x

x

...

6

1

2

111

2xxxe

x

2

( 2 2 )2

h

h h h

3. 防止绝对值很小的数做分母

,104* 有误差限设x

的误差限为则7

*

10

x

例10

100010

107

4

§2 误差的来源和基本概念

一 来源 模型误差, 观测误差, 截断误差,舍入误差

1 截断误差,也称为方法误差,涉及方法的收敛性.

!!2

1)(2

n

xxxexI

nx如

)(xI实际计算中:!!2

1)(~

2

n

xxxxI

n

截断误差: )(~

)()( xIxIxRn )0(,)!1(

1xx

n

e n

2 舍入误差,由计算机的浮点运算产生,涉及方法的稳定性.

如:用3.14159近似代替π,则产生的误差 R =π-3.14059=0.0000026…为舍入误差.

二 基本概念

*xxe

ee ,: 的一个上界

*

* rr ex

e

x

ee

rrrr ee ** ,: 一个上界

假设x为准确值,x*为近似值,则

绝对误差:

绝对误差限:

相对误差:

相对误差限:

三 有效数字

),0(100 121 aaa.axm

n记 位尾数得舍入法保留t

95,10)10.0(

40,10.0~

121

121

tmt

t

tm

t

aaaa

aaaax

|~| xx 易知 ;10102

1 mt 称满足 mtxx 1010

2

1|~|

的有效数字。为的最大正整数 xt ~

有几位有效数字?判断

~

1415.3~;8979321415926535.3 例11

,.π1

10314150~ 解 000092.0~ π|π|

位有效数字。有4*

31050

.

411050

.

05099.0,05100.0,0509.0,051.0

?

,0509966.012

几位有效数字

下列各数有的近似值作为例

2位 2位 4位 3位

四 有效数字与误差限的关系

:*为的近似值设 xx

.0,90 1 aai 中某个数字到为其中

)(. 显然绝对误差限越小有效数字位数越多

mnaaax 10.0 21

*

1 有效数字与绝对误差限的关系

则位有效数字具有若 ,*

nx* 1

102

m nx x

2、有效数字与相对误差的关系

有效数字 相对误差限

1

1

121

102

1

02

10

100

1050*

n

n

m

n

nm

r

a

.aaa.a

.

x*

ε*ε

已知 x* 有 n 位有效数字,则其相对误差限为

相对误差限 有效数字

nmmn

mn

r

.aa

a.aa

xεxx

105010)1()1(2

10

100)1(2

10|*|*|*|

1

1

1

1

21

1

1

1

1

10)1(2

1*

n

ra

ε已知 x* 的相对误差限可写为

可见 x* 至少有 n 位有效数字。

例13 为使 的相对误差小于0.001%,至少应取几位有效

数字?

π

解 假设 * 取到 n 位有效数字,则其相对误差上限为

1

1

110

2

n

a

要保证其相对误差小于0.001%,只要保证其上限满足

%001.0102

1*

1

1

n

ra

ε

已知 a1 = 3,则从以上不等式可解得 n > 6 log6,即

n 6,应取 * = 3.14159。

0.1%

只要取n=3即可,即3位有效数字。

例14 要使 的近似值相对误差小于0.1%,应取几

位有效数字?

70

170 0.8 10 8a 解

( 1)

1

110

2

n

ra

欲使 )1(10

82

1

n

例15 ( ) ( 20)( 19) ( 2)( 1)f x x x x x

20 19210x x

当 19x 的系数换成 23

210 2 时

13 19( ) ( ) 2p x f x x

有十个复根.

§4 灵敏度分析

灵敏度分析是分析一个数学问题原始数据的微小变化对其解的扰动

情况。如果引起解发生较大的变化,则称该问题是病态的,否则称该

问题是良态的。它反映了解对原始数据的敏感程度。

病态与良态方程组

1

2

1 5 2I

1 1.0001 2

x

x

16例

1

2

2

0

x

x

1

2 .000

1 5 2

1 1.00 1 2 10

x

x

1

2

2.000125

0.000005

x

x

1

2

1 1 2II

1 1.0001 2

x

x

) 1

2

2

0

x

x

1

2 .000

1 1 2

1 1.00 1 2 10

x

x

1

2

1

1

x

x

抗干扰能力强

良态的方程组

抗干扰能力弱

病态的方程组

问题:①如何估计误差向量的大小?

②如何对方程组的性态进行判断?衡量其病态程度?

(0,0.0001)T

b ( 0.000125,0.000005)T

x

(0,0.0001)T

b (1,1)T

x

00

0 1 0 117 lim

( ) , ( )例 微分方程初值问题 ,其解析解为 ,且 ;x

x

y yy e y

y y

0 1 0 1 0 12 2

( ) ( ) ( ) ( ) lim若 ,则其解析解: 且 。x x

xy y y e e y

此问题是病态的!

病态与否是该问题固有的性质,与采用何种计算方法没有关系。

一 范数

1定义

1 0, 0 0x x x ) 且 ;

2 , | |R x x ) ;

3n

y R x y x y ) , 。

|| ||x x则称 为向量 的 。范数或模

. 向量范数

1 2( , , , ) || ||

T n

nx x x x R x 对 ,若对应正实数 ,满足:

nR注:在 中引入了范数,相当于引入了距离的概念!

§5 向量范数与矩阵范数

2 常用的向量范数

1 2( , , )

T n

nx x x x R 设 ,定义:

02 . ,a R ax

0

1 1 2 23 . , , ( , , , ) ,

n n

n nx y R x y x y x y x y R

1max1 | |

ii n

x x

) 范数:

01 . 0,x

显然

11

| |2 1n

i

i

x x

) 范数:

2

21

2n

i

i

x x

3) 范数:

验证:1max | |

ii n

x x 满足范数定义。

1max | | 0

ii n

x x 且 0x

1max | |

ii n

ax

1

| | max | |i

i na x

| |a x

x y

x y

1max

i ii n

x y

1max

i ii n

x y

1 1max max

i ii n i n

x y

1 21 (1, 2,3, 4) || || ___ || || ___ || || ___ .

Tx x x x

例 设 ,则 , ,4 10 30

2 || ||

|| || || ||

n

n n

n

A R

x Ax R

例 设 可逆, 是 上一个范数。

证明: 也是 上一个范数。

证明 1 0;x Ax )显然, 且

A可逆

0Ax

0Ax 0x 0x

2 ,R )对 x

Ax

Ax

;x

3 x y

) ( )A x y

Ax Ay

Ax Ay

x y

|| || || ||n

x Ax R 也是 上一个范数。

|| ||T n

n n AA x x Ax R

例3 设 是实对称正定矩阵,证明: 是 的一个范数。

提示:n n

A是实对称正定矩阵

TA P P P ,其中 可逆

|| ||T

Ax x Ax T T

x P Px ( ) ( )T

Px Px2

Px

如何证明它?

2

1 24 , ,

Tx x x R 例 设 画图描述如下点集。

1 1|| || 1 ;S x x 2 2

|| || 1 ;S x x 3|| || 1 ;S x x

2R中,单位圆在不同距离下的表现形式!

1 2| | | | 1x x 2 2

1 21x x

1 2max(| |, | |) 1x x

. 矩阵范数

1 0 , 0 ;A A A O ) 且

2 c R cA c A ) ;

3 ,n n

B R A B A B ) ;

4 .n n

B R AB A B )

A A则称 为 的矩阵范数。

1定义 ( ) || ||n n

ijA a R A

对 ,若对应正实数 ,满足:

2 常用的矩阵范数

11

max | |1n

iji n

j

A a

) 范数(行范数):

max2

max

( )

( )

2T

T T

A A A

A A A A

3) 范数(谱

其中, 是 的最

范数):

大特征值

1 11

ma2 1 x | |n

ijj n

i

A a

) 范数(列范数):

1 2

1 25

3 4A A A A

例 设 ,求 、 和 。

17 6A A

,解

1 3 1 2

2 4 3 4

TA A

10 14

14 20

| |T

A A E 10 14

14 20

2

30 4 0

1,2

30 900 16

2

max( )15 221TA A

,2

15 221A

15 221

. 谱半径

1 21

( ) , maxn n

ij n ii n

A a R n A A

设 的 个特征值为 , , ,称 ( )= 为 的谱半径。

. 重要结论

1 范数的等价性。

1 20

nR x x c c

对 上任意两种向量范数 、 , 常数 ,使

1 2c x x c x

。 定义

。 例如1

x x n x ,

2x x n x

。 含义 kx向量序列 的敛散性不会因度量标准(范数)的选取不同而异!

Re

Im

(A)

2 范数的相容性。

p p pAx A x p ,( =1,2, )

p p矩阵的 范数和向量的 范数是相容的,即满足

( ) || ||A A A 3 对具有相容性的矩阵范数 ,有 。

证明 ( , )x A Ax x 设 为 的特征对,即 ,则有

x Ax A x x

,A 1

( ) maxi

i nA

A

相关Matlab命令: norm(x,p) norm(x)=norm(x,2)