预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《计算方法》实验报告 实验四、解线性方程组的迭代法及 其并行算法 1、实验目的: ①会用Matlab编程进而编写雅可比迭代法和高斯- 塞德尔迭代法,用Matlab的程序来解线性方程组等的 具体问题,同时加深对雅可比迭代和高斯塞德尔迭代 的具体算法的理解及其应用。能很好的熟练掌握并深 入体会计算方法这门课的重要性以及广泛的应用性。 ②熟悉并熟练掌握Matlab编程环境。 2、实验要求: 用雅可比迭代和高斯-塞德尔迭代法来解线性方程 组以及判断它们的收敛情况。 3、实验内容:用雅可比迭代和高斯-塞德尔解线性方程组 如下所示: 4、实验题目:用雅可比迭代和高斯-塞德尔解线性方程组 ⎧10x1+2x2+3x3=14, ⎪ ⎨2x1+5x2+2x3=18,以及判断雅可比迭代法的收敛 ⎪ ⎩3x1+x2+5x3=20, 性和高斯-赛德尔迭代法的收敛性. 5、实验原理: 判断收敛性:是根据n*n阶矩阵是严格对角占优的, (所谓占优解释指对角线元素的绝对值大于其它同行 或同列的绝对值之和)则线性方程组有唯一的解。且 对于任意初始量产生的迭代向量都收敛来解雅可比 迭代。如果n*n阶矩阵是正定的对称矩阵,则对于任 意初始向量产生的迭代向量序列都是收敛于此线性 方程组的 雅可比迭代公式: ⎧1 xk+1=(−ax(k)−ax(k)−....−ax(k)+b) ⎪1a1221331nn1 ⎪11 ⎪(k+1)1(k+1)(k)(k) ⎪x2=(−a21x1−a23x3−....−a2nxn+b2) ⎨a22 ⎪.............................................. ⎪ (k+1)1(k)(k)(k) ⎪xn=(−an1x1−an2x2−....−an,n−1xn−1+bn) ⎩⎪ann 高斯-塞德尔迭代公式 ⎧1 xk+1=(−ax(k)−ax(k)−....−ax(k)+b) ⎪1a1221331nn1 ⎪11 ⎪(k+1)1(k+1)(k)(k) ⎪x2=(−a21x1−a23x3−....−a2nxn+b2) ⎨a22 ⎪.............................................. ⎪ (k+1)1(k+1)(k+1)(k+1) ⎪xn=(−an1x1−an2x2−....−an,n−1xn−1+bn) ⎩⎪ann 6、设计思想:先化简,把对角线的项提到左边,其它项 移到右边,再利用迭代公式使根逐渐精确化,直到达到要求 求出最后结果为止。 7、对应程序: 雅可比迭代程序: functionX=jacdd(A,b,X0,P,wucha,max1) [nm]=size(A); forj=1:m a(j)=sum(abs(A(:,j)))-2*(abs(A(j,j))); end fori=1:n ifa(i)>=0 disp('请注意:系数矩阵A不是严格对角占优的,此雅可比迭 代不一定收敛') return end end ifa(i)<0 disp('请注意:系数矩阵A是严格对角占优的,此方程组有唯一 解,且雅可比迭代收敛') end fork=1:max1 k forj=1:m X(j)=(b(j)-A(j,[1:j-1,j+1:m])*X0([1:j-1,j+1:m]))/A(j,j); end X,djwcX=norm(X'-X0,P);xdwcX=djwcX/(norm(X',P)+eps); X0=X';X1=A\b; if(djwcX<wucha)&(xdwcX<wucha) disp('请注意:雅可比迭代收敛,此方程组的精确解jX和近似解 X如下:') return end end if(djwcX>wucha)&(xdwcX>wucha) disp('请注意:雅可比迭代次数已经超过最大迭代次数max1') end 运行雅可比迭代程序输入:A=[1023;2101;3110]; b=[1;1;2];X0=[000]';X=jacdd(A,b,X0,inf,0.001,100) 结果为: k= 1 X= 0.10000.10000.2000 k= 2 X= 0.02000.06000.1600 k= 3 X= 0.04000.08000.1880 k= 4 X= 0.02760.07320.1800 k= 5 X= 0.03140.07650.1844 k= 6 X= 0.02940.07530.1829 k= 7 X= 0.03010.07580.1837 k= 8 X= 0.02970.07560.1834 k= 9 X= 0.02990.07570.1835 请注意:雅可比迭代收敛,此方程组的