计算方法实验报告.docx

上传人:b****5 文档编号:5934039 上传时间:2023-01-02 格式:DOCX 页数:11 大小:36.55KB
下载 相关 举报
计算方法实验报告.docx_第1页
第1页 / 共11页
计算方法实验报告.docx_第2页
第2页 / 共11页
计算方法实验报告.docx_第3页
第3页 / 共11页
计算方法实验报告.docx_第4页
第4页 / 共11页
计算方法实验报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

计算方法实验报告.docx

《计算方法实验报告.docx》由会员分享,可在线阅读,更多相关《计算方法实验报告.docx(11页珍藏版)》请在冰豆网上搜索。

计算方法实验报告.docx

计算方法实验报告

数学软件实验任务书

课程名称

数学软件实验

班级

学号

实验课题

线性方程组的J-迭代,GS-迭代,SOR-迭代,SSOR-迭代方法

实验目的

熟悉线性方程组的J-迭代,GS-迭代,SOR-迭代,SSOR-迭代方法

实验要求

运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成

实验内容

线性方程组的J-迭代

线性方程组的GS-迭代

线性方程组的SOR-迭代

线性方程组的SSOR-迭代方法

成绩

教师

实验1Jacobi迭代

一实验原理

系数矩阵A的主对角元不全为0,如果A作以下分解:

A=D-L-U;其中D为A的住对角线元素构成的矩阵,L为下三角矩阵,U为上三角矩阵,得到了Jacibi迭代法,它的迭代公式为:

二数据来源

用Jacobi迭代求解下列方程组

三实验步骤

步骤一:

编写Jacobi迭代法的函数。

在打开Editor编辑器,输入以下语句:

functionJacobi

clc

clearall

max1=1000;%迭代次数

tol=10e-5;%设置迭代精度

A=[4-11;4-81;-215];

b=[7-2115]';

x0=[000]';

%计算D,L,U

n=length(A);

D=zeros(n);

L=zeros(n);

U=zeros(n);

fori=1:

n

forj=1:

n

ifi==j

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

elseifi>j

L(i,j)=-A(i,j);

else

U(i,j)=-A(i,j);

end

end

end

D;

L;

U;

Bj=inv(D)*(L+U);

f=inv(D)*b;

x=Bj*x0+f;

k=1;%迭代次数

whilenorm(x-x0)>=tol

x0=x;

x=Bj*x0+f;

k=k+1;

if(k>=max1)

disp('Warning:

迭代次数到多,可能不收敛!

');

return;

end

end

x

以文件Jacobi保持

4计算结果

运行程序可以得到运算结果

x=

2.0000

4.0000

3.0000

x是线性方程组的解

k=

11

k为迭代次数。

实验2Gauss-Seidel迭代

1实验原理

系数矩阵A的主对角元不全为0,如果A作以下分解:

A=D-L-U

其中D的意义同雅可比迭代法,L为下三角矩阵,U为上三角矩阵,得到了Gauss-Seidel迭代法,它的迭代公式为:

2数据来源

用Gauss-Seidel迭代求解下列方程组

3实验步骤

步骤一:

编写GS迭代法的函数。

在打开Editor编辑器,输入以下语句:

functiongauseidel

clc

clearall

max1=1000;%迭代次数

tol=10e-5;%近似精度

A=[4-11;4-81;-215];

b=[7-2115]';

x0=[000]';

n=length(A);

D=zeros(n);

L=zeros(n);

U=zeros(n);

%求D,L,U

fori=1:

n

forj=1:

n

ifi==j

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

elseifi>j

L(i,j)=-A(i,j);

else

U(i,j)=-A(i,j);

end

end

end

D;

L;

U;

%求G,f

G=(D-L)\U;

f=(D-L)\b;

x=G*x0+f;

k=1;

%迭代格式

whilenorm(x-x0)>=tol

x0=x;

x=G*x0+f;

k=k+1;

if(k>=max1)

disp('迭代次数过多,可能不收敛');

return;

end

end

x

文件保存名为gauseidel

4计算结果

运行程序得到运算结果:

x=

2.0000

4.0000

3.0000

x是线性方程组的解

k=

7

k为迭代次数。

实验3SOR迭代

1实验原理

对A作一些分解:

,Q,L,U的意义与Gauss-Seidel迭代法相同。

是一个事先选好的常数,称为松弛因子,当

时叫超松弛法,也叫SOR迭代法。

其迭代公式为:

2数据来源

用SOR迭代求解下列方程组

3实验步骤

步骤一:

编写SOR迭代法的函数。

在打开Editor编辑器,输入以下语句:

functionSOR

clc

clearall

max1=1000;%迭代次数

tol=10e-5;%设置迭代近似精度

A=[4-11;4-81;-215];

b=[7-2115]';

x0=[000]';

n=length(A);

D=zeros(n);

L=zeros(n);

U=zeros(n);

%求L,U

fori=1:

n

forj=1:

n

ifi==j

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

elseifi>j

L(i,j)=-A(i,j);

else

U(i,j)=-A(i,j);

end

end

end

D;

L;

U;

w=1.5;%设置松弛系数

%迭代格式

B=inv(D-L*w)*((1-w)*D+w*U);

f=w*inv((D-L*w))*b;

x=B*x0+f;

k=1;%迭代次数

whilenorm(x-x0)>=tol

x0=x;

x=B*x0+f;

k=k+1;

if(k>=max1)

disp('迭代次数过多可能不收敛');

return;

end

end

x

文件保存为SOR

4计算结果

x=

2.0000

4.0000

3.0000

x是线性方程组的解

k=

18

k为迭代次数。

实验四SSOR-迭代方法

1实验原理

超松弛迭代还有一种改进形式,叫做对称逐次超松弛迭代(SSOR),它采用的是两步迭代公式:

2数据来源

用SSOR迭代求解下列方程组

3实验步骤

步骤一:

编写SOR迭代法的函数。

在打开Editor编辑器,输入以下语句:

functionSSOR

clc

clearall

max1=1000;%迭代次数

eps=10e-5;%近似精度

A=[4-11;4-81;-215];

b=[7-2115]';

x0=[000]';

n=length(A);

D=zeros(n);

L=zeros(n);

U=zeros(n);

%计算D,L,U

fori=1:

n

forj=1:

n

ifi==j

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

elseifi>j

L(i,j)=-A(i,j);

else

U(i,j)=-A(i,j);

end

end

end

D;

L;

U;

w=1.5;%松弛因子

%迭代格式

B1=inv(D-L*w)*((1-w)*D+w*U);

B2=inv(D-U*w)*((1-w)*D+w*L);

f1=w*inv((D-L*w))*b;

f2=w*inv((D-U*w))*b;

x=x0

k=0;%迭代次数

tol=1

whiletol>=eps;

x1=B1*x0+f1;

x=B2*x1+f2;

k=k+1;

tol=norm(x-x0);

x0=x;

if(k>=max1)

disp('迭代次数太多,SOR方法可能不收敛');

return;

end

end

x

k

文件保存为SSOR

4计算结果

x=

2.0000

4.0000

3.0000

k=

11

实验结论

以上用3种迭代方法对同一个线性方程组在相同精度要求下分别进行了求解,从计算方法及最后的结果我们可以得到:

高斯—赛的尔迭代比雅可比迭代在相同精度要求下收敛的快,即高斯—赛的尔迭代所需要迭代的次数较少(雅可比迭代,k=11;高斯—赛的尔迭代,k=7),高斯—赛的尔迭代相当于是雅可比迭代的改进。

SOR迭代,从算法的设计来看它是对高斯—赛的尔迭代的改进,使得计算结果的误差降低,SSOR迭代是SOR迭代与高斯—赛的尔迭代的综合,是SOR的改进使得计算误差更小,但是SOR和SSOR引入了松弛因子

松弛因子的取值可能会使迭代速度加快也有可能使迭代速度减慢。

所以SOR、SSOR迭代虽然计算结果误差降低但是如果

松弛因子取值不合适会使迭代速度慢。

如在本实验中SOR迭代k=18(即迭代了18次),SSOR迭代,k=11(即迭代了11次),这超过了高斯—赛德尔迭代和雅可比迭代。

因此每种算法都有各自的优缺点,在实际应用中我们应根据实际要求选择合适的迭代方法。

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

当前位置:首页 > 医药卫生 > 基础医学

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

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