计算方法实验

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

《数值计算方法》

实验

专业:

姓名:

姓名:

实验一

1. 题目 (课本46页习题二第1题)

用列主元素法解下列方程,结果保留4位小数。

⎪⎩⎪

⎨⎧=+-=-+=-+2

186354446232

1321321x x x x x x x x x

2. 模型建立(理论分析)

用方程组的增广矩阵

[]⎥⎥⎥⎦

⎤⎢⎢⎢

⎣⎡=n nn

n n n n b a a a b a a a b a a a b A 21

222221

111211, 表示,并在增广矩阵上进行计算。

首先在矩阵的第一列中选取绝对值最大的元,通过行互换,将最大的元所在行换在第一行的位置,得到增广矩阵()()[]

11,b A ,然后进行消元,得到矩阵

()()[]

()()()

()()()()()()

⎥⎥

⎥⎥⎦

⎤⎢⎢⎢⎢⎣

⎡=222222222211111121112

2

,n nn n n

n b a a b a a b a a a b A

然后在每次从消元之前,都通过行变换将绝对值最大的元所在的行换到相应行,再进行消元。如此经过n-1步,增广矩阵被化成上三角矩阵,最后回代过程求解。这种算法就是列主元素法求解方程组。

3. 算法

(1)输入A=[2,6,-4;1,4,-5;6,-1,18];b=[4;3;2];计算rank(A);rank(B)。 (2)判断所需求的方程组解的情况,选择相应计算方法,本题是存在唯一解。 (3)置储存空间X ,C 矩阵,比较所在列进行消元运算数值绝对值,取下标位置。

(4)取绝对值大的元所在行通过行变换换到首位,再进行消元,直到化为上三角矩阵,停机。

4. 程序

列主元素消去法程序

clear

clc

A=[2,6,-4;1,4,-5;6,-1,18];

b=[4;3;2];

B=[A b];

RA=rank(A);

RB=rank(B);

zhica=RB-RA;

if zhica>0,

disp('请注意:因为RA~=RB,所以此方程组无解')

return

end

if RA==RB

if RA==3

disp('请注意:因为RA=RB=3,所以此方程组有唯一解')

X=zeros(3,1);

C=zeros(1,4);

for p=1:2

[Y,j]=max(abs(B(p:3,p)));

C=B(p,:);

B(p,:)=B(j+p-1,:);

B(j+p-1,:)=C;

for k=p+1:3

m=B(k,p)/B(p,p);

B(k,p:4)=B(k,p:4)-m*B(p,p:4);

end

end

b=B(1:3,4);

A=B(1:3,1:3);

X(3)=b(3)/A(3,3);

for q=2:-1:1

X(q)=(b(q)-sum(A(q,q+1:3)*X(q+1:3)))/A(q,q);

end

X

else

disp('请注意:因为RA=RB<3,所以此方程组有无穷多解') end

end

5.运行结果

实验二

1. 题目 (课本46页习题二第3题)

用紧凑格式解下列方程组,并写出L ,U 矩阵。

⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡19044102256811616427811694143

214321x x x x 2. 模型建立(理论分析)

已知用矩阵形式表示Gauss 消去法的消元过程是对方程组增广矩阵[A,b]进行一系列初等变换,将系数矩阵A 左乘上三角形矩阵的过程,也等价于用一串初等矩阵去做乘增广矩阵,因此消元过程可以通过矩阵运算来表示。例如,第一次消元等价于用初等矩阵

⎥⎥⎥⎥⎥

⎥⎦

⎤⎢⎢⎢⎢⎢⎢⎣⎡---=100010001000

11

31

21

1

n l l l L 左乘矩阵()()[]

[]b A b A ,,=11 其中()()

()n i a a l i i ,,3,2/11111

1 ==,即()()[]()()[]

11122b A L b A ,,=。 一般地,第k 次消元等价于用初等矩阵

⎥⎥

⎥⎥⎥⎥⎥⎦⎤

⎢⎢

⎢⎢⎢

⎢⎢⎢⎣

⎡--=+1111

1000

nk k

k k l l L

左乘矩阵()()[]

k k b A ,,其中()()

()n k i a a l k kk k ik

ik ,,1/ +==,经过1-n 次消元后得到

()()[]()()

[]

1112

1b A L L

L

b A n n n

n

,, --=,因为⎥

⎥⎥⎥

⎥⎥⎦⎤

⎢⎢

⎢⎢⎢⎢⎢⎢⎣⎡=+-111111000

nk k

k k

l l L ,令

⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢

⎢⎢⎢⎢⎢⎢⎣

⎡==-----11

1

11

1

32132

31211

1

1211nn n n n n l l l l l l l

L L L L

,[]()()[]

n n Lb LA b A ,,= 消元过程实际上是把系数矩阵A 分解成单位下三角与上三角矩阵的乘积的过程。

LU A =

其中L 为单位上三角矩阵,U 为下三角矩阵。

⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢

⎢⎢⎢⎣⎡=-11

1

11

1

32

1323121nn n n n l l l l l l l

L

, ⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎢⎢⎢⎢⎣

⎡=nn n n u u u u u u u u U 0

2232211312

11 这种分解称为杜利特尔(Doolittle)分解,也称为LU 分解。

当A 为n 阶方阵,若A 的顺序主子式()1,,2,1-=n i A i 均不为零,则矩阵A 存在唯一的Doolittle 分解。由矩阵的乘法法则,得ij l 和ij u 的公式

()

()

()n j i n j u u l a l n i j n i u l a u n j a u jj j k kj ik ij ij i k kj ik ij ij j j ,,1,1,,2,1/,,,,,2,,2,11

11

1

11 +=-=⎪⎪⎭

⎫ ⎝⎛-===-===∑∑-=-=

计算过程应按第1行,第1列,第2行,第2列,…的顺序进行。得到L ,U 矩阵

相关文档
最新文档