数值分析 第四章 基于MATLAB的科学计算—解线性方程组的迭代法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

科学计算—理论、方法

及其基于MATLAB 的程序实现与分析

三、 解线性方程组的迭代法(Iteration )

线性方程组的理论求解公式

b

A x 1

-= (1)

在应用于实际问题的计算时,通常面临两方面的问题 1、计算过程复杂, 2、不能保证算法的稳定性;

此外,当初始数据(可能)存在误差时,按公式(1)即使求出了“精确解”意义也不大,因此,对于存在初始数据误差、特别是大型的线性方程组求解,需要寻求能达到精度要求的、操作和计算过程相对简单的求解方法。下面将要介绍的迭代法就属于这类方法。

迭代法求解线性方程组的基本思想是

1) 不追求“一下子”得到方程组的解,而是在逐步逼近方程组的精

确解的迭代过程中获得满足精度要求的近似解,这一点与直接法不同;

2) 通过对问题的转化,避免(困难的)矩阵求逆运算。

用迭代法求解线性方程组,首先要把线性方程组写成等价的形式

f Mx x b Ax +=⇔= (2)

式(2)的右端称为迭代格式,由迭代格式(2)确定如下的迭代算法:

,2,101=⎩

⎨⎧∈∀+=+k R x f

Mx x n

k k (3)

对于给定的线性方程组,可以写成不同的(无穷多)迭代格式,有意义的(可用的)迭代格式应具有收敛性―生成的解向量序列{}x n 收敛于方程组的解;而好的迭代法应具有较高的收敛速度。

关于迭代法收敛性的两个判别条件:

a 、充分必要条件是:矩阵M 的谱半径

(){}1,,2,1max <==n i M i

i

λρ

b 、充分条件是:矩阵M 的某个算子

范数

M <1。

设x 是方程组(2)的解,{}m x 是迭代法(3)生成的任一序列,因为

f Mx x +=,f Mx x m m +=+1

所以

()()()022

1x x M

x x M

x x M x x m

m m m -

==-

=-=--- (4)

设1

1--=⇔=TJT

M J MT

T ,其中矩阵J 是矩阵M 的Jordan 标准型,那么容易验证1

-=T

TJ M m m

,并且

()[

]()

()()1

lim ,2,10lim lim 0

lim lim 01

0<⇔=⇔==⇔-

⇔=-

⇔=+∞

→+∞

→-+∞

→+∞→+∞

→M M

n i x x T

J

T x x M

x x m

m m

i n m

m m

m m m ρρλ (5)

此外,因为

(

)0

2

2

11x x M

x x M x x M x x M x x m m m m m -≤≤-≤-≤-=---- (6)

所以

x x x x M

M m m m m m

m =⇔=-⇒=⇒<+∞

→+∞

→+∞

→lim 0lim

0lim

1

(7)

注:迭代格式(2)所确定的迭代法收敛与否,完全由系数矩阵M 决定,而与常数项f 无关.

常用的迭代法

1、Jacobian 迭代法:

U

L D a a a a a a a a a a a a a a a a a a A n n n nn n nn nn n n n

n --=⎥⎥

⎥⎦

⎢⎢⎢⎢⎣⎡----⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--

--⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦

⎢⎢⎢

⎢⎣⎡=--00

0000000

000011121

1

2122112

122221

11211

()()

⎨⎧=+=⇒++=⇒⎩⎨

⎧--==----+b D f U L D M b D x U L D x U L D A b Ax m m 1

11

11 (8)

例1 解下面方程组(精确解为T x )1,1,1(*=).

⎪⎩⎪

⎨⎧=++-=+-=++.

14103,53102,

14310321

321321x x x x x x x x x

解 1) 改写成等价形式

⎪⎪⎪

⎪⎨⎧--=++=----=--=).314(101),325(101)325(101),314(101213213

12321x x x x x x x x x x x 2) 构造迭代公式,即为雅可比迭代公式

⎪⎪⎪

⎪⎪

⎪⎨⎧=--=++=--=+++.,2,1,0),314(101),325(101),314(101)

(2)(1)1(3)

(2)(1)1(2

)

(3)(2)1(1 k x x x x x x x x x k k k k k k k k k 3) 取初始向量T x )0,0,0()0(=,即,0)0(3)0(2)0(1===x x x 代入上式,求出

4.110

14,5.010

5,4.110

14)

1(3)

1(2

)

1(1

==

===

x x x .

再代回公式中,求出

11

.1)4.15.0314(101)

2(1

=-⨯-=

x , 2

.1)5.034.125(101)

2(2

=⨯+⨯+=x ,

11.1)2.1311.114(10

1)

2(3

=⨯--=

x .

依次迭代,计算结果如表4-1.

相关文档
最新文档