LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx

上传人:b****5 文档编号:20974977 上传时间:2023-01-26 格式:DOCX 页数:12 大小:133.56KB
下载 相关 举报
LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx_第1页
第1页 / 共12页
LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx_第2页
第2页 / 共12页
LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx_第3页
第3页 / 共12页
LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx_第4页
第4页 / 共12页
LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx

《LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。

LAB07解线性方程组的基本迭代法实验Word文档下载推荐.docx

若收敛,通过迭代次数分析计算结果并得出你的结论。

(2)用编写的SOR迭代法程序,对于

(1)所选取的初始向量

及右端面项向量b进行求解,松驰系数ω取1<

ω<

2的不同值,在

时停止迭代,通过迭代次数分析计算结果并得出你的结论。

【实验仪器与软件】

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

2.Matlab6.0及以上版本。

实验讲评:

实验成绩:

评阅教师:

200年月日

一、算法描述

1、雅可比迭代法描述如下:

将线性方程组

中的系数矩阵

分为三部分

选取M为A的对角元素部分,即选取M=D(对角矩阵),A=D-N

,由

得到解Ax=b的雅可比迭代法

其中

,称J为解Ax=b的雅可比迭代法的迭代矩阵。

2、高斯-塞德尔迭代法描述如下:

选取分裂矩阵M为A的下三角部分,即选取M=D-L(下三角矩阵),A=M-N,于是由

得到解Ax=b的高斯-塞德尔迭代法

,其中

为解Ax=b的高斯-塞德尔迭代法的迭代矩阵。

3、逐次超松弛迭代法描述如下:

选取分裂矩阵M为带参数的下三角矩阵

为可选择的松弛因子,于是由

可构造一个迭代法,其迭代矩阵为

,从而得到解Ax=b的逐次超松弛迭代法,简称SOR法。

解Ax=b的SOR方法为

二、算法程序

1、编写Jacobi迭代法的M文件如下:

function[x,n]=Jacobi(A,b,x0,r)

formatlong

n=length(A);

D=diag(diag(A));

L=(-1)*tril(A,-1);

U=(-1)*triu(A,1);

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

f=inv(D)*b;

x=B*x0+f;

n=1;

whilenorm(x-x0)>

=r

x0=x;

x=B*x0+f;

n=n+1;

end

2、编写Gauss-Seidel迭代法的M文件如下:

function[x,n]=GaussSeidel(A,b,x0,r)

B=inv(D-L)*U;

f=inv(D-L)*b;

3、编写SOR迭代法的M文件如下:

function[x,n]=SOR(A,b,x0,w,r)

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

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

x=Lw*x0+f;

x=Lw*x0+f;

三、数值实验

矩阵A的程序表示如下:

functionA=lucius()

A=[3-1/2-1/400000000000000000;

-1/23-1/2-1/40000000000000000;

-1/4-1/23-1/2-1/4000000000000000;

0-1/4-1/23-1/2-1/400000000000000;

00-1/4-1/23-1/2-1/40000000000000;

000-1/4-1/23-1/2-1/4000000000000;

0000-1/4-1/23-1/2-1/400000000000;

00000-1/4-1/23-1/2-1/40000000000;

000000-1/4-1/23-1/2-1/4000000000;

0000000-1/4-1/23-1/2-1/400000000;

00000000-1/4-1/23-1/2-1/40000000;

000000000-1/4-1/23-1/2-1/4000000;

0000000000-1/4-1/23-1/2-1/400000;

00000000000-1/4-1/23-1/2-1/40000;

000000000000-1/4-1/23-1/2-1/4000;

0000000000000-1/4-1/23-1/2-1/400;

00000000000000-1/4-1/23-1/2-1/40;

000000000000000-1/4-1/23-1/2-1/4;

0000000000000000-1/4-1/23-1/2;

00000000000000000-1/4-1/23];

1、用Jacobi迭代法程序求解:

clearall;

clc;

r=1.0e-6;

x0=[00000000000000000000]'

;

A=lucius();

b=[71711151171711317121]'

[x,n]=Jacobi(A,b,x0,r)

改变数值:

x0=[51511151151155555555]'

b=[87177947731787275177]'

2、用Gauss-Seidel迭代法程序求解:

x0=[55555555555555555555]'

b=[18798406394134181314]'

[x,n]=GaussSeidel(A,b,x0,r)

b=[13314408710085258213]'

根据以上结果可知得到的序列是收敛的

SOR迭代法:

w=1.2;

r=1.0e-5;

x0=[77777777777777777777]'

b=[20120615131426971523]'

[x,n]=SOR(A,b,x0,w,r)

clearall;

x0=[85125724832458732653]'

b=[52212519920104001513]'

四、总结

通过以上实验了解了三种迭代法的算法结构,掌握了三种基本迭代法的使用,通过对结果的分析了解了每一种迭代法的特点,并且可以得出结论:

相对于雅可比迭代法,高斯-塞得尔迭代法加快了收敛速度,而SOR迭代法的收敛速度与松弛因子ω有关。

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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