实验一解线性方程组的消元法.docx

上传人:b****6 文档编号:3970658 上传时间:2022-11-26 格式:DOCX 页数:15 大小:74.99KB
下载 相关 举报
实验一解线性方程组的消元法.docx_第1页
第1页 / 共15页
实验一解线性方程组的消元法.docx_第2页
第2页 / 共15页
实验一解线性方程组的消元法.docx_第3页
第3页 / 共15页
实验一解线性方程组的消元法.docx_第4页
第4页 / 共15页
实验一解线性方程组的消元法.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验一解线性方程组的消元法.docx

《实验一解线性方程组的消元法.docx》由会员分享,可在线阅读,更多相关《实验一解线性方程组的消元法.docx(15页珍藏版)》请在冰豆网上搜索。

实验一解线性方程组的消元法.docx

实验一解线性方程组的消元法

佛山科学技术学院

实验报告

课程名称数值分析

实验项目解线性方程组的消元法

专业班级12信息与计算科学姓名李焕雄学号2012254114

指导教师黄国顺成绩日期月日

一.实验目的

1、掌握程序的录入和matlab的使用和操作;

2、了解影响线性方程组解的精度的因素——方法与问题的性态。

3、学会Matlab提供的“\”的求解线性方程组。

二.实验要求

1、按照题目要求完成实验内容;

2、写出相应的Matlab程序;

3、给出实验结果(可以用表格展示实验结果);

4、分析和讨论实验结果并提出可能的优化实验。

5、写出实验报告。

三.实验步骤

1、用调试好的程序解决如下问题:

用Gauss列主元素消去法求

的解,其中

a)

b)

2、调用matlab中的“\”解上述算例

3、分别用上述程序和matlab中的“\”求线性方程组

时的数值解,求解精度为

四.实验结果

用Gauss列主元素消去法求

的解

a)

方程的解如下所示:

b)

方程的解如下所示:

调用matlab中的“\”解上述算例

a)

结果如下所示:

b)

结果如下所示:

将每种情形的两个结果进行表格对比,如:

n=10时:

GAUSS列主元素消去法求得的x

算符“\”求得的x

n=20时:

GAUSS列主元素消去法求得的x

算符“\”求得的x

1.0e+011*

-0.0000

0.0000

-0.0001

0.0003

0.0031

-0.0484

0.2722

-0.8017

1.2795

-1.0022

0.5123

-1.2174

1.6283

1.0728

-4.4451

4.2400

-2.0630

1.0230

-0.6406

0.1870

 

det=

-1.5680e-195

 

index=

1

n=30时:

GAUSS列主元素消去法求得的x

算符“\”求得的x

1.0e+011*

-0.0000

0.0000

-0.0004

0.0046

-0.0236

0.0036

0.5197

-2.5411

5.7098

-6.6892

4.9696

-6.1670

7.4791

-0.0187

-4.6497

-2.5152

4.0175

-1.9990

7.3409

-4.2950

-0.7613

-4.0744

2.5774

-1.0095

8.0474

-8.9604

5.4848

-4.4931

2.4792

-0.4359

 

det=

0

 

index=

1

1.0e+011*

-0.0000

0.0000

-0.0003

0.0041

-0.0308

0.1212

-0.2157

-0.0621

0.9925

-1.8839

2.1480

-2.3723

1.4024

1.8047

-3.1732

1.9467

-1.8441

0.5439

0.6650

0.9839

0.4927

-2.2828

0.9781

-2.0193

2.0842

-1.1819

2.4548

-0.7191

-1.7914

0.9543

五.讨论分析

GAUSS列主元素消去法求得的x和用算符“\”求得的x的结果在解精度为

且n=10的情况下是一样的,但是在n=20或者n=30的情况下得出的结果确实不一样的!

六.改进实验建议

目前能力不足,还没能看出什么很好的解决方法,不过我相信自己往后能够做得更好!

源程序代码

function[x,det,index]=Gauss(A,b)

%ÇóÏßÐÔ·½³Ì×éµÄÁÐÖ÷ÔªGaussÏûÈ¥·¨£¬ÆäÖÐ

%A---方程组矩阵

%b---方程组右端

%x---方程组的解

%det---方程组行列式

%index---index=0表示求解失败,index=1表示求解成功¦

[n,m]=size(A);nb=length(b);

ifn~=m

error('TherowsandcolumnsofmatrixAmustbeequal!

');

return;

end

ifm~=nb

error('ThecolumnsofAmustbeequalthedimensionofb!

');

return;

end

index=1;det=1;x=zeros(n,1);

fork=1:

n-1

%选主元

a_max=0;

fori=k:

n

ifabs(A(i,k))>a_max

a_max=abs(A(i,k));r=i;

end

end

ifa_max<1e-20

index=0;

return;

end

%交换两行

ifr>k

forj=k:

n

z=A(k,j);A(k,j)=A(r,j);A(r,j)=z;

end

z=b(k);b(k)=b(r);b(r)=z;det=-det;

end

%消元过程

fori=k+1:

n

m=A(i,k)/A(k,k);

forj=k+1:

n

A(i,j)=A(i,j)-m*A(k,j);

end

b(i)=b(i)-m*b(k);

end

det=det*A(k,k);

end

det=det*A(n,n);

%回代过程

ifabs(A(n,n))<1e-20

index=0;

return;

end

fork=n:

-1:

1

forj=k+1:

n

b(k)=b(k)-A(k,j)*x(j);

end

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

end

以下程序只做参考,别对号入座。

1、a=[1,2,3;4,5,6;7,8,0];b=[1,1,1]';

>>[a,det,index]=gauss(a,b)

a=-6.999999999999999

3.000000000000000

1.999999999999999

2.000000000000000

det=4

index=1

2、

a=[2.000,-2.000,3.000,-3.000;0.5000,2.000,-0.5000,1.5000;0.5000,0,2.5000,4.5000;0.5000,0,0.2000,-0.4000];b=[-14,6,4,4]';

>>[x,det,index]=gauss(a,b)

x=25.161290322580637

-16.612903225806445

-22.129032258064509

10.387096774193546

det=6.200000000000001

index=1

3、用“\”解上述算例。

x=a\b

x=

25.161290322580637

-16.612903225806445

-22.129032258064509

10.387096774193546

(4)h=hilb(10);

>>b=1:

10;

>>b=b';

>>x=h\b

x=

1.0e+008*

-0.0000

0.0010

-0.0233

0.2330

-1.2106

3.5940

-6.3221

6.5102

-3.6227

0.8405

%用Gauss消元法计算结果。

[x,det,index]=Gauss(h,b)

x=

1.0e+008*

-0.0000

0.0010

-0.0233

0.2330

-1.2107

3.5942

-6.3225

6.5106

-3.6228

0.8406

det=2.1644e-053

%n=20时的计算结果

h=hilb(20);

b=1:

20;

b=b’;

x=h\b

x=1.0e+011*

-0.0000

0.0000

-0.0002

0.0031

-0.0186

0.0417

0.0882

-0.7609

1.8918

-2.2165

1.4532

-2.1529

4.0656

-1.5508

-4.6865

5.3767

0.2748

-3.5146

2.1100

-0.4039

%用Gauss消元法计算结果

[x,det,index]=Gauss(h,b)

x=1.0e+011*

-0.0000

0.0000

-0.0001

0.0003

0.0031

-0.0484

0.2722

-0.8017

1.2795

-1.0022

0.5123

-1.2174

1.6283

1.0728

-4.4451

4.2400

-2.0630

1.0230

-0.6406

0.1870

det=-1.5680e-195

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

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1