毕业论文开题报告信息与计算科学矩阵方程的数值解法一、选题的背景、意义1.选题的背景在科学、工程计算中,求解矩阵方程的任务占相当大的份额。
这是因为,矩阵方程不仅能以完整的形式作为许许多多实际问题的模型之一,而且还能作为不少其他数值方法处理过程中转化而成的组成部分。
例如,在电路网络、弹性力学、潮流计算、热传导、振动等领域,其基本模型就是矩阵方程,而求微分方程边值问题的差分法和有限元法等数值计算本身,也导致求解某些矩阵方程。
在系统控制等工程研究领域经常遇到矩阵方程的求解问题。
自动控制系统最重要的一个特征是稳定性问题,它表示系统能妥善地保持预定工作状态,耐受各种不利因素的影响,因此矩阵方程在系统的稳定性理论,极点配置等方面具有重要的意义。
在常微分方程的定性研究以及数值求解常微分方程的隐式Rung-kwtta方法和块方法中,也需要求解矩阵方程。
此外,在广义特征值问题的摄动研究中及隐式常微分方程的数值解中,经常遇到矩阵方程的求解问题。
1.1.2选题的意义随着科学技术的迅速发展,矩阵方程越来越多地出现在科学与工程计算领域,关于这类问题的研究也日益受到人们的高度重视.对矩阵方程的研究具有很重要的理论意义和很高的应用价值.所以,学会如何更好的解矩阵方程就显得非常重要。
本文主要介绍了解矩阵方程的高斯消元法、Jacobi迭代法、Gauss-Seidcl迭代法和SOR迭代方法。
在这些方法的基础上,利用matlab软件,快速求出矩阵方程的解。
通常熟练使用这些工具或编写程序,而这通常是一项入门缓慢、熟练精通时间较长的工作。
MATLAB在提供强大的计算功能,也为我们用数值方法求解矩阵方程提供了很大的方便。
1.1.3求解线性方程组由于线性方程组是矩阵方程的一个特例,所以本文试图将解线性方程组的一些经典方法推广用来解矩阵方程。
记线性方程组为⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++nn nn n n n n n n b x a x a x a b x a x a x a b x a x a x a ΛΛΛΛ22112222212********* (1)这里ij a (n j i ,,2,1,Λ=)为方程组的系数,i b (n i ,,2,1Λ=)为方程组自由项。
方程组(1)的矩阵形式为 b Ax = 其中⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=nn n n n n a a a a a a a a a A ΛM M M ΛΛ212222111211,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n 21x x x x M ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n 21b b b b M , 实际应用中,主要处理实数情形的方程组,即n n R A ⨯∈,nR b ∈。
如果系数矩阵A 的行列式不为0, 则可根据Gramer(克兰姆)法则知上述方程组存在唯一解DD x ii =(n i ,,2,1Λ=) 其中nn nn a a a a a a a a a D ΛMΛM MΛΛ2n 1n 2222111211=,nnni nni n ni i n i i i a a b a a a a b a a a a b a a D ΛΛM ΛΛM M ΛM ΛΛΛΛ11-121221-22111111-111+++=。
由此可知利用Gramer 法则求解一个n 阶方程组需要计算1+n 个n 阶行列式, 若n 阶行列式通过行列式的展开定理来计算, 则其计算量不低于!n 次乘法, 因此, Gramer 法则求解一个n 阶方程组的工作量不少于)!1(+n 次乘法运算. 由此可见Gramer 法则是不实用的, 不是面向计算机的算法, 必须研究其它数值方法。
解上述线性方程组数值的数值方法主要有如下两类:(1)直接法: 就是在没有舍入误差的情况下, 通过有限步的四次运算可以求得方程组准确解的方法, 但由于实际计算中舍入误差是客观存在的, 因而使用此类方法也只能得到近似解。
(2)迭代法: 就是先给出解的一个初始近似值, 然后按一定的法则逐步求各个更准确的近似解的方法, 因此是用某种极限过程逐步逼近准确解的方法。
1.1.4求解矩阵方程 记矩阵方程组AX=B⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=nn n n n n a a a a a a a a a A ΛM M M ΛΛ212222111211111212122212n n n n nn x x x x x x X x x x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦LL M M M L 111212122212n n n n nn b b b b b b B b b b ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦LL M M M L 则111212122212n n n n nn a a a aa a a a a ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦L L M M M L111212122212n n n n nn x x x xx x x x x ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦L L M M M L =111212122212n n n n nn b b b b b b b b b ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦LL M M M L 已知A,B,求X;第一步,111212122212n n n n nn a a a a a a a a a ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦L L M M M L11211n x x x ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦M =11211n b b b ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦M ,11i i D x D =(n i ,,2,1Λ=)其中,nnn n a a a a a a a a a D ΛM ΛM MΛΛ2n 1n 2222111211=,111-111111212-11121211-111i i n i i n i n ni n ni nna ab a a a a b a a D a a b a a +++=L L L LM L M M L L M LL;第二步,111212122212n n n n nn a a a a a a a a a ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦L L M M M L12222n x x x ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦M =12222n b b b ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦M ,22i i D x D =(n i ,,2,1Λ=)中,nnn n a a a a a a a a a D ΛM ΛM MΛΛ2n 1n 2222111211=,111-112111212-11221221-121i i n i i n i n ni n ni nna ab a a a a b a a D a a b a a +++=L L L L M L M M L L M LL;依次类推,可分别得到ij ij D x D=(n i ,,2,1Λ=;n j ,,2,1Λ=);nnn n a a a a a a a a a D ΛM ΛM MΛΛ2n 1n 2222111211=,111-11j 111212-12j 2121-11i i n i i ni j n ni njni nna ab a a a a b a a D a a b a a +++=L L L L M L M M L L M LL二、研究的基本内容与拟解决的主要问题2.1 矩阵方程AX=B 有解的判定定理1.矩阵方程AX=B 有解的充要条件是:()(,)(0);()n r A r A B r r n I ==≤≤为单位阵证明:将矩阵B 及X 按列分块,于是方程可以写成.:12n 12n (,,)(,,),A X X X B B B =L L ,即12n 12n (,,)(,,)AX AX AX B B B =L L ,AX=B 有解⇔A 的列向量组与(A,B )得列向量组等价于(,)(0)r A B r r n =≤≤。
推论1:若AX=B 有解,则(1)()r A n =时,方程有唯一解;(2)()r A n <时,方程有无穷解。
2.2 线性方程组的一些常用数值算法2.2.1 Guass 消去法Gauss 消去法主要包括两个过程: 消元过程和回代过程。
具体如下: ⑴ 化一般方程为三角方程(消元过程) 考虑矩阵方程方程B AX = 其中[]nn ij Ra A ⨯∈=,[]nn ij Rb B ⨯∈=。
设011≠a ,令,/1111a =α,),,,(121111Tn a a a a Λ=,),,,0(121~1Tn a a a Λ=T e )0,,0,1(1Λ=。
构造Gauss 矩阵Te a I G 1~111α-=,用1G 左乘1a 得T T n a a a a G a G )0,,0,(),,,(1112111111ΛΛ== ,从而),(11i b A G 具有下列形式:⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=≡)2()2()2(2)2(2)2(2)2(2211121111)2()2(00),(),(n nn n n ni b a a b a a b a a a b A G b A ΛMM M ΛΛ,其中(2)(2)1111111111,,,,2,,.ij ij ij j i i i i i a a l a b b l b al i j n a =-=-==L一般地,如果已经利用Gauss 矩阵11,,-k G G Λ得到1112111(2)(2)(2)22221()()1111()()()1()()()1(,)(,)nn k k i k i k k k kk kn k k k k nk nn n a a a b a a b A b G G A b a a b a a b -⎡⎤⎢⎥⎢⎥⎢⎥≡=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦L L OM M L LMM M L, 则当0)(≠k kk a 时,取Tk k k k e a I G ~α-=,,/1,),,,0,,0()()()(,1~k kk k T k nk k k k K a a a a ==+αΛΛ 就有1111,1111(2)(2)(2)(2)(2)2222,1221()()()()(1)(1)()(),1,111(1)(1)(1)1,11,11(1)(1)(1),11(,)(,)k k n k k n k k k k k k k k kkk k k n k i k i k k k k k k n k k k k n k nnn a a a a b a a a a b a a a b A b G A b a a b a a b ++++++++++++++++⎡⎢⎢⎢⎢≡=⎢⎢⎢⎢⎢⎣L LL L OM M M M L L MMM L⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦,其中()()(1)()()111(1)()()/,,,1,,.,k k ik ik kk k k k i i ik k k k k ij ij ik kj l a a b b l b i j k n a a l a ++==-=+=-L如此继续下去。