解线性方程组列主元素高斯消去法和LU分解法.docx

解线性方程组列主元素高斯消去法和LU分解法.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

实验报告

一、实验名称

解线性方程组的列主元素高斯消去法和LU分解法二、实验目的及要求

通过数值实验,用熟悉的算法语言编写程序,从中体会解线性方程组选主元素的必要性和Lu分解法的优点,以及方程组系数矩阵和右端向量的微小变化对解向量的影响。

三、实验内容

解下列两个线性方程组

?3.01 6.03 1.99??x

? ?1?

?1.27

4.16 -1.23??

1???1?

(1)?

??x? ??

?0.987 -4.81 9.34??

2? ?1?

3? ??x? ??

3

?10

?7 0 1??x

? ? 8 ?

? ?? 1? ? ?

(2)??3 2.099999 6 2??x???5.900001?

2

?5 ?1 5 ?1??x

? ? 5 ?

4? ?? 3? ? ?

4

?2 1 0 2

??x? ? 1 ?

四、算法描述

n)1

n)

记a(1)?a

n)ij

n)

(i,j?1,2,

b(1)?b

i i

(i?1,2,

消元过程

对于R=1,2,……,n-1执行:

选行号i

,使a(k)

?maxa(k)

k ikk

k?i?n ik

交换a(k)与a(k)(j=k,k+1,……n)以及b(k)与b(k)所含的数值。

kj ikk

k ik

3)对于i=k+1,k+2,……,n计算

m ?a(k)

ik ik

/a(k)

kk

a(k?1)

?a(k)?m

a(k) j=k+1,k+2,……n.

ij ij ik kj

b(k?1)?b(k)?m

b(k)

i i ikk

回代过程

x ?b(n)

n n

/a(n)

nn

x ?(b(k)? ?n

kk j?k?1

k

a(k)x

kj j

)/a(k),k?n?1,n?2,

kk

,1.

在此算法中的a(k)(k=1,2,……,n-1)称为第k个列主元素,它的数值总要被交换到第

ikk

k个主对角线元素的位置上。

2、LU分解法

通过MATLAB自有的函数把系数矩阵A分解成A=LU,其中,L是下三角矩阵,U是上三角矩阵。这时方程组Ax=b就可化为两个容易求解的三角形方程组Ly=b,Ux=y.先由Ly=b解出向量y,再由Ux=y解出向量x,这就是原方程组Ax=b的解向量。

五、程序流程图

列主元高斯消去法程序流程图如下:

开始

读入矩阵

A,b

选主元

ik=k?

N

列主元

Y 跳出循环

计算

对A进行上三角变换回代求x

输出x

结束

LU分解法程序流程图如下:

开始

读入矩阵

A

求出值y(1),y(2)

Y

i3? 求

N

输出y 求y值

求末值x(n),x(n-1)

Y

j3?

N

求x值

输出x

结束

这里我使用了四种框,一种是起止框 ,一种是输入输出框 ,一种是判断框 ,还有一种是处理框 。

3、列主元素高斯消去法的M文件如下:

function a=liezhuGS(A,b)

r=length(A[1],i)

for i=1:r

for j=1:rif A(i,i)A(j,i)

for k=i:rc=A(i:k);

A(i,k)=A(j,k);

A(j,k)=c;endd=b(i);b(i)=b(j);b(j)=d;end end

for l=(i+1):rp=A(l,l)/A(i,i);for m=i:r

A(l,m)=A(l,m)-p*A(i,m);end

b(l)=b(l)-p*b(i);end

endA……Z=det(A)…b

for n=r:-1:1if n==r

x(n)=b(n)/A(n,n);else

for q=1:(r-n)

b(n)=b(n)-x(x+q)*A(n,n+q);end

x(n)=b(n)/A(n,n);end end x

4、LU分解法的M文件如下:Functiona=Lufenjiefa(A,b)[L,U]=lu(A)

Y=l\bX=u\yA

bZ=det(l)*det(u)

5、实验步骤如下:

?3.01 6.03 1.99?

?1?

?

(1)A=

1.27

4.16 -1.23?;b=

?1?;分别在命令窗口中运行 LiezhuGs(A,b)和

? ? ??

? ?1?0.987 -4.81 9.34

? ?

1

??

??

Lufenjiefa

文档评论(0)

mph + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体上海谭台科技有限公司
IP属地上海
统一社会信用代码/组织机构代码
91310115MA7CY11Y3K

1亿VIP精品文档

相关文档