矩阵方程的数值解法开题报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业论文开题报告
信息与计算科学
矩阵方程的数值解法
一、选题的背景、意义
1.选题的背景
在科学、工程计算中,求解矩阵方程的任务占相当大的份额。这是因为,矩阵方程不仅能以完整的形式作为许许多多实际问题的模型之一,而且还能作为不少其他数值方法处理过程中转化而成的组成部分。例如,在电路网络、弹性力学、潮流计算、热传导、振动等领域,其基本模型就是矩阵方程,而求微分方程边值问题的差分法和有限元法等数值计算本身,也导致求解某些矩阵方程。在系统控制等工程研究领域经常遇到矩阵方程的求解问题。自动控制系统最重要的一个特征是稳定性问题,它表示系统能妥善地保持预定工作状态,耐受各种不利因素的影响,因此矩阵方程在系统的稳定性理论,极点配置等方面具有重要的意义。在常微分方程的定性研究以及数值求解常微分方程的隐式Rung-kwtta方法和块方法中,也需要求解矩阵方程。此外,在广义特征值问题的摄动研究中及隐式常微分方程的数值解中,经常遇到矩阵方程的求解问题。
1.1.2选题的意义
随着科学技术的迅速发展,矩阵方程越来越多地出现在科学与工程计算领域,关于这类问题的研究也日益受到人们的高度重视.对矩阵方程的研究具有很重要的理论意义和很高的应用价值.所以,学会如何更好的解矩阵方程就显得非常重要。本文主要介绍了解矩阵方程的高斯消元法、Jacobi迭代法、Gauss-Seidcl迭代法和SOR迭代方法。在这些方法的基础上,利用matlab软件,快速求出矩阵方程的解。通常熟练使用这些工具或编写程序,而这通常是一项入门缓慢、熟练精通时间较长的工作。MATLAB在提供强大的计算功能,也为我们用数值方法求解矩阵方程提供了很大的方便。
1.1.3求解线性方程组
由于线性方程组是矩阵方程的一个特例,所以本文试图将解线性方程组的一些经典方法推广用来解矩阵方程。
记线性方程组为
⎪⎪
⎩⎪⎪⎨⎧=+++=+++=+++n
n 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 ΛΛΛΛ22112
222212********* (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 ⨯∈,n
R b ∈。
如果系数矩阵A 的行列式不为0, 则可根据Gramer(克兰姆)法则知上述方程组存在唯一解
D
D x i
i =
(n i ,,2,1Λ=) 其中
nn n
n a a a a a a a a a D Λ
M
Λ
M M
ΛΛ2n 1n 2222111211=
,nn
ni n
ni n n
i 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 ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦L
L M M M L 111212122212n n n n nn b b b b b b B b b b ⎡⎤
⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
L
L M M M L 则
111212122212n n n n nn a a a a
a a a a a ⎡⎤⎢⎥⎢⎥⎢⎥⎢
⎥⎣⎦L L M M M L
111212122212n n n n nn x x x x
x x x x x ⎡⎤⎢⎥⎢⎥⎢⎥⎢
⎥⎣⎦L L M M M L =111212122212n n n n nn b b b b b b b b b ⎡⎤⎢⎥⎢⎥⎢⎥⎢
⎥⎣⎦
L
L 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 L
11211n x x x ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦M =11211n b b b ⎡⎤⎢⎥
⎢⎥⎢⎥⎢⎥⎣⎦
M ,11
i i D x D =(n i ,,2,1Λ=)
其中,nn
n n a a a a a a a a a D Λ
M Λ
M M
ΛΛ2n 1n 2222111211=
,111-111111212-11121211-1
11i i n i i n i n ni n ni nn
a a
b a a a a b a a D a a b a a +++=
L L L L
M L M M L L M L
L
;
第二步,1112121
22212n n n n nn a a a a a a a a a ⎡⎤⎢⎥⎢
⎥⎢⎥⎢
⎥⎣⎦L L M M M L
12222n x x x ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦M =12222n b b b ⎡⎤⎢⎥
⎢⎥⎢⎥⎢⎥⎣⎦
M ,22
i i D x D =(n i ,,2,1Λ=)
中,nn
n n a a a a a a a a a D Λ
M Λ
M M
ΛΛ2n 1n 2222111211=
,111-112111212-11221221-1
21i i n i i n i n ni n ni nn
a a
b a a a a b a a D a a b a a +++=
L L L L M L M M L L M L
L
;
依次类推,可分别得到ij ij D x D
=
(n i ,,2,1Λ=;n j ,,2,1Λ=);