您好,欢迎来到年旅网。
搜索
您的当前位置:首页线性方程组的迭代解法实验报告

线性方程组的迭代解法实验报告

来源:年旅网


数值分析实验报告

实验五 线性方程组的迭代解法

5x12x2x382x18x23x321 x3x6x1231 应用雅可比迭代和高斯-塞德尔迭代算法解线性方程组

1、 分别建立雅可比迭代和高斯-赛德尔迭代M文件。 雅可比迭代M文件jacobi.m

function jacobi(a,b) n=length(b);

D0 = diag(a); D = diag(D0); U = triu(a,1); L = tril(a,-1)

BJ = inv(D)*(-L-U); f = inv(D)*b norm(BJ, inf);

x0 = zeros(n, 1); x1 = BJ*x0 + f; k = 1; while norm(x1-x0,inf)>0.001 x0 = x1; k = k + 1

x1 = BJ*x0 + f end

高斯-赛德尔迭代M文件seidel.m

function seidel(a,b)

n=length(b); D0 = diag(a); D = diag(D0); U = triu(a,1); L = tril(a,-1) Bg =- inv(D + L)*U; f = inv(D + L)*b; norm(Bg, inf); x0 = zeros(n, 1); x1 = Bg*x0 + f; k = 1; while norm(x1-x0,inf)>0.001

x0 = x1; k = k + 1

x1 = Bg*x0 + f end

2、输入方程组的增广矩阵

>> a=[5 2 1;2 8 -3;1 -3 -6] a =

5 2 1 2 8 -3 1 -3 -6 >> b=[8;21;1] b =

8 21 1

3、调用jacobi.m >> jacobi(a,b)

L =

0 0 0 2 0 0 1 -3 0 f =

1.6000 2.6250 -0.1667 k = 2 x1 =

0.5833 2.1625 -1.2125 k = 3 x1 =

0.9775 2.0245 -1.1507 k = 4 x1 =

1.0203 1.9491 -1.0160 k = 5 x1 =

1.0236 1.98 -0.9712 k = 6 x1 =

0.9987 2.0049 -0.9905 k =

7 x1 =

0.9961 2.0039 -1.0027 k = 8 x1 =

0.9990 2.0000 -1.0026 k = 9 x1 =

1.0005 1.9993 -1.0001 k = 10 x1 =

1.0003 1.9998 -0.9996

4、调用seidel.m >> seidel(a,b)

L =

0 0 0 2 0 0 1 -3 0 k = 2 x1 =

0.9125 2.0172 -1.0232 k = 3 x1 =

0.9978 1.9919 -0.9963 k = 4

x1 =

1.0025 2.0008 -1.0000 k = 5 x1 =

0.9997 2.0001 -1.0001 k = 6 x1 =

1.0000 2.0000 -1.0000

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务