Gauss列主元素消去法实验参考.docx

上传人:b****1 文档编号:337169 上传时间:2023-04-29 格式:DOCX 页数:18 大小:43.65KB
下载 相关 举报
Gauss列主元素消去法实验参考.docx_第1页
第1页 / 共18页
Gauss列主元素消去法实验参考.docx_第2页
第2页 / 共18页
Gauss列主元素消去法实验参考.docx_第3页
第3页 / 共18页
Gauss列主元素消去法实验参考.docx_第4页
第4页 / 共18页
Gauss列主元素消去法实验参考.docx_第5页
第5页 / 共18页
Gauss列主元素消去法实验参考.docx_第6页
第6页 / 共18页
Gauss列主元素消去法实验参考.docx_第7页
第7页 / 共18页
Gauss列主元素消去法实验参考.docx_第8页
第8页 / 共18页
Gauss列主元素消去法实验参考.docx_第9页
第9页 / 共18页
Gauss列主元素消去法实验参考.docx_第10页
第10页 / 共18页
Gauss列主元素消去法实验参考.docx_第11页
第11页 / 共18页
Gauss列主元素消去法实验参考.docx_第12页
第12页 / 共18页
Gauss列主元素消去法实验参考.docx_第13页
第13页 / 共18页
Gauss列主元素消去法实验参考.docx_第14页
第14页 / 共18页
Gauss列主元素消去法实验参考.docx_第15页
第15页 / 共18页
Gauss列主元素消去法实验参考.docx_第16页
第16页 / 共18页
Gauss列主元素消去法实验参考.docx_第17页
第17页 / 共18页
Gauss列主元素消去法实验参考.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Gauss列主元素消去法实验参考.docx

《Gauss列主元素消去法实验参考.docx》由会员分享,可在线阅读,更多相关《Gauss列主元素消去法实验参考.docx(18页珍藏版)》请在冰点文库上搜索。

Gauss列主元素消去法实验参考.docx

Gauss列主元素消去法实验参考

Lab.Gauss列主元素消去法实验

【实验目的和要求】

1.使学生深入理解并掌握Gauss消去法和Gauss列主元素消去法步骤;

2.通过对Gauss消去法和Gauss列主元素消去法的程序设计,以提高学生程序设计的能力;

3.对具体问题,分别用Gauss消去法和Gauss列主元素消去法求解。

通过对结果的分析比较,使学生感受Gauss列主元素消去法优点。

【实验内容】

1.根据Matlab语言特点,描述Gauss消去法和Gauss列主元素消去法步骤。

2.编写用不选主元的直接三角分解法解线性方程组Ax=b的M文件。

要求输出Ax=b中矩阵A及向量b,A=LU分解的L与U,detA及解向量x。

3.编写用Gauss列主元素消去法解线性方程组Ax=b的M文件。

要求输出Ax=b中矩阵A及向量b、PA=LU分解的L与U、detA及解向量x,交换顺序。

4.给定方程组

(1)

(2)

先用编写的程序计算,再将

(1)中的系数3.01改为3.00,0.987改为0.990;将

(2)中的系数2.099999改为2.1,5.900001改为9.5,再用Gauss列主元素消去法解,并将两次计算的结果进行比较。

【实验仪器与软件】

1.CPU主频在1GHz以上,内存在128Mb以上的PC;

2.Matlab6.0及以上版本。

实验讲评:

 

实验成绩:

评阅教师:

年月日

Gauss列主元素消去法实验报告

一、算法描述

1、编写用不选主元的直接三角分解法解线性方程组Ax=b的M文件程序如下

function[x,l,u]=malu(A,b)

formatshort

n=length(b);

u=zeros(n,n);l=eye(n,n);

u(1,:

)=A(1,:

);l(2:

n,1)=A(2:

n,1)/u(1,1);

fork=2:

n

u(k,k:

n)=A(k,k:

n)-l(k,1:

k-1)*u(1:

k-1,k:

n);

l(k+1:

n,k)=(A(k+1:

n,k)-l(k+1:

n,1:

k-1)*u(1:

k-1,k))/u(k,k);

end

y=zeros(n,1);

y

(1)=b

(1);

fork=2:

n

y(k)=b(k)-l(k,1:

k-1)*y(1:

k-1);

end

x=zeros(n,1);

x(n)=y(n)/u(n,n);

fork=n-1:

-1:

1

x(k)=(y(k)-u(k,k+1:

n)*x(k+1:

n))/u(k,k);

end

二、Gauss列主元消去法解线性方程组程序如下

function[Determ,x]=magauss2(A,b,flag)

%Gauss列主元素消去法解线性方程组Ax=b,A为系数矩阵,b为右端项

%若flag=0,不显示中间消去过程,否则显示中间消去过程,默认为0

%输出项Determ为矩阵A的行列式值,x为解向量

ifnargin<3,flag=0;end

Determ=1;

n=length(b);

fork=1:

(n-1)

[ap,p]=max(abs(A(k:

n,k)));

p=p+k-1;

ifap==0

printf('dividebyzero!

');

Determ=0;

end

%换行

ifp>k

t=A(k,:

);A(k,:

)=A(p,:

);A(p,:

)=t;

t=b(k);b(k)=b(p);b(p)=t;

Determ=-Determ;

end

%消元计算

m=A(k+1:

n,k)./A(k,k);

A(k+1:

n,k+1:

n)=A(k+1:

n,k+1:

n)-m*A(k,k+1:

n);

b(k+1:

n)=b(k+1:

n)-m*b(k);

A(k+1:

n,k)=zeros(n-k,1);

ifflag~=0,Ab=[A,b],end%展示消元过程

Determ=A(k,k).*Determ;

end

ifA(n,n)==0

printf('dividebyzero!

');

Determ=0;

end

%回代求解

x=zeros(n,1);

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

fori=(n-1):

-1:

1

x(i)=(b(i)-A(i,i+1:

n)*x(i+1:

n))/A(i,i);

end

Determ=A(n,n).*Determ;

三、计算过程

直接三角分解法

(1):

A=[3.016.031.99;1.274.16-1.23;0.987-4.819.34]

b=[1;1;1]

[x1,l1,u1]=malu(A,b);

x1

l1

u1

A=

3.01006.03001.9900

1.27004.1600-1.2300

0.9870-4.81009.3400

 

b=

1

1

1

 

x1=

1.0e+003*

1.5926

-0.6319

-0.4936

 

l1=

1.000000

0.42191.00000

0.3279-4.20061.0000

 

u1=

3.01006.03001.9900

01.6158-2.0696

00-0.0063

 

A=[3.006.031.99;1.274.16-1.23;0.990-4.819.34]

b=[1;1;1]

[x1,l1,u1]=malu(A,b);

x1

l1

u1

A=

3.00006.03001.9900

1.27004.1600-1.2300

0.9900-4.81009.3400

 

b=

1

1

1

 

x1=

119.5273

-47.1426

-36.8403

 

l1=

1.000000

0.42331.00000

0.3300-4.23061.0000

 

u1=

3.00006.03001.9900

01.6073-2.0724

00-0.0844

(2)

A=[10,-7,0,1;-3,2.09999,6,2;5,-1,5,-1;2,1,0,2]

b=[8;5.900001;5;1]

[x1,l1,u1]=malu(A,b);

x1

l1

u1

A=

10.0000-7.000001.0000

-3.00002.10006.00002.0000

5.0000-1.00005.0000-1.0000

2.00001.000002.0000

 

b=

8.0000

5.9000

5.0000

1.0000

 

x1=

0.0000

-1.0000

1.0000

1.0000

 

l1=

1.0e+005*

0.0000000

-0.00000.000000

0.0000-2.50000.00000

0.0000-2.40000.00000.0000

 

u1=

1.0e+006*

0.0000-0.000000.0000

0-0.00000.00000.0000

001.50000.5750

0000.0000

A=[10,-7,0,1;-3,2.1,6,2;5,-1,5,-1;2,1,0,2]

b=[8;5.9;5;1]

[x1,l1,u1]=malu(A,b);

x1

l1

u1

A=

10.0000-7.000001.0000

-3.00002.10006.00002.0000

5.0000-1.00005.0000-1.0000

2.00001.000002.0000

 

b=

8.0000

5.9000

5.0000

1.0000

 

x1=

NaN

NaN

NaN

NaN

 

l1=

1.0000000

-0.30001.000000

0.5000Inf1.00000

0.2000InfNaN1.0000

 

u1=

10.0000-7.000001.0000

006.00002.3000

00-Inf-Inf

000NaN

高斯列主元消去法:

(1)

A1=[3.016.031.99;1.274.16-1.23;0.987-4.819.34]

b=[1;1;1]

condA1=cond(A1)%

(1)中A的条件数

[Determ1,x1]=magauss2(A1,b,1)

A2=[3.006.031.99;1.274.16-1.23;0.990-4.819.34]

b=[1;1;1]

condA2=cond(A2)

[Determ2,x2]=magauss2(A2,b,1)

运行结果如下

A1=

3.01006.03001.9900

1.27004.1600-1.2300

0.9870-4.81009.3400

 

b=

1

1

1

 

condA1=

3.0697e+004

 

Ab=

3.01006.03001.99001.0000

01.6158-2.06960.5781

0-6.78738.68750.6721

 

Ab=

3.01006.03001.99001.0000

0-6.78738.68750.6721

00-0.00150.7381

 

Determ1=

-0.0305

 

x1=

1.0e+003*

1.5926

-0.6319

-0.4936

 

A2=

3.00006.03001.9900

1.27004.1600-1.2300

0.9900-4.81009.3400

 

b=

1

1

1

 

condA2=

2.3028e+003

 

Ab=

3.00006.03001.99001.0000

01.6073-2.07240.5767

0-6.79998.68330.6700

 

Ab=

3.00006.03001.99001.0000

0-6.79998.68330.6700

00-0.02000.7350

 

Determ2=

-0.4070

 

x2=

119.5273

-47.1426

-36.8403

(2)

A1=[10,-7,0,1;-3,2.09999,6,2;5,-1,5,-1;2,1,0,2]

b=[8;5.900001;5;1]

condA1=cond(A1)%

(1)中A的条件数

[Determ1,x1]=magauss2(A1,b,1)

A2=[10,-7,0,1;-3,2.1,6,2;5,-1,5,-1;2,1,0,2]

b=[8;5.9;5;1]

condA2=cond(A2)

[Determ2,x2]=magauss2(A2,b,1)

A1=

10.0000-7.000001.0000

-3.00002.10006.00002.0000

5.0000-1.00005.0000-1.0000

2.00001.000002.0000

 

b=

8.0000

5.9000

5.0000

1.0000

 

condA1=

5.8745

 

Ab=

10.0000-7.000001.00008.0000

0-0.00006.00002.30008.3000

02.50005.0000-1.50001.0000

02.400001.8000-0.6000

 

Ab=

10.0000-7.000001.00008.0000

02.50005.0000-1.50001.0000

006.00002.30008.3000

00-4.80003.2400-1.5600

 

Ab=

10.0000-7.000001.00008.0000

02.50005.0000-1.50001.0000

006.00002.30008.3000

0005.08005.0800

 

Determ1=

-762.0009

 

x1=

0.0000

-1.0000

1.0000

1.0000

 

A2=

10.0000-7.000001.0000

-3.00002.10006.00002.0000

5.0000-1.00005.0000-1.0000

2.00001.000002.0000

 

b=

8.0000

5.9000

5.0000

1.0000

 

condA2=

5.8746

 

Ab=

10.0000-7.000001.00008.0000

006.00002.30008.3000

02.50005.0000-1.50001.0000

02.400001.8000-0.6000

 

Ab=

10.0000-7.000001.00008.0000

02.50005.0000-1.50001.0000

006.00002.30008.3000

00-4.80003.2400-1.5600

 

Ab=

10.0000-7.000001.00008.0000

02.50005.0000-1.50001.0000

006.00002.30008.3000

0005.08005.0800

 

Determ2=

-762

 

x2=

0.0000

-1.0000

1.0000

1.0000

四、算法分析

(1)中:

直接三角解法

与高斯列主元消去解法的结果是一样的,而经过改变某些值后,其结果还是一样,看不出来那个方法好在

(2)中直接三角解法出现

结果:

三角解法结果出现一个不确定的值NaN说明该算法求解该问题存在很大的误差,二高斯列主元消去则很小,所以高斯列主元消去法的与实际结果很接近.

五、总结

通过实验,深入并基本掌握高斯消去法和高斯列主元消去法的步骤,经过实际问题的求解,感受到高斯列主元消去法的优点,以及算法的不同产生的误差很大,对我们的问题求解有很大的影响

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2