教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

雅可比迭代法与高斯-塞德尔迭代法

来源:网络收集 时间:2026-05-27
导读: 简要介绍资料的主要内容,以获得更多的关注 线性方程组的迭代法 一、实验目的及要求 掌握解线性方程组的雅可比迭代法,培养编程与上机调试能力。 二、相关理论知识 1、雅可比迭代 计算Ax b,将系数矩阵分解A D L U,雅可比迭代格式为 x(k 1) Jx(k) f 其中J D

简要介绍资料的主要内容,以获得更多的关注

线性方程组的迭代法

一、实验目的及要求

掌握解线性方程组的雅可比迭代法,培养编程与上机调试能力。

二、相关理论知识

1、雅可比迭代

计算Ax b,将系数矩阵分解A D L U,雅可比迭代格式为

x(k 1) Jx(k) f

其中J D 1(L U),f D 1b。

Matlab相关函数:

D=diag(diag(A))

n=norm(a,inf) 表示求向量a的无穷范数。

2、高斯-塞德尔迭代法

计算Ax b,将系数矩阵分解A D L U,雅可比迭代格式为

x(k 1) Gx(k) f

其中G (D L) 1U,f (D L) 1b。

Matlab相关函数:

tril(A,-1) 表示输出矩阵为矩阵A的下三角,主对角线元素为0.

triu(A,1) 表示输出矩阵为矩阵A的上三角,主对角线元素为0.

三、研究、解答以下问题

问题 1、用雅可比迭代法解线性方程组

10x1 2x2 3x3 14 2x1 10x2 x3 11, 3x x 10x 2023 1

(1)取初始值(0,0,0) ,分别保证当x(k 1) x(k)

10 3和

简要介绍资料的主要内容,以获得更多的关注

x(k 1) x(k)

10 6时,迭代终止,要求输出对应的近似解。

(2)输出对应的迭代的次数。

(3)输出一个矩阵,每行表示每次迭代的向量。

1.程序:

function [x,i,G]=kb(A,b,max,eps)

A=[10 2 3;2 10 1;3 1 10];

b=[14 11 20]';

max=100;

eps=1e-006

D=diag(diag(A));

ID=inv(D);

J=ID*(-A+D);

f=ID*b;

x0=zeros(rank(A),1);

x=x0;

G(1,:)=x0';

for i=1:max

k=x;

x=J*x+f;

G(i+1,:)=x';

n=norm((x-k),inf);

if n<=eps

break;

简要介绍资料的主要内容,以获得更多的关注

end

end

G

i

结果:(1)

eps = 1.0000e-003

G =

0 0 0

1.4000 1.1000 2.0000

0.5800 0.6200 1.4700

0.8350 0.8370 1.7640

0.7034 0.7566 1.6658

0.7489 0.7927 1.7133

0.7275 0.7789 1.6960

0.7354 0.7849 1.7039

0.7319 0.7825 1.7009

0.7332 0.7835 1.7022

0.7326 0.7831 1.7017

i =10

ans =

0.7326

0.7831

1.7017

(2)

eps =1.0000e-006

G =

0 0 0

1.4000 1.1000 2.0000

0.5800 0.6200 1.4700

0.8350 0.8370 1.7640

0.7034 0.7566 1.6658

0.7489 0.7927 1.7133

0.7275 0.7789 1.6960

0.7354 0.7849 1.7039

0.7319 0.7825 1.7009

0.7332 0.7835 1.7022

0.7326 0.7831 1.7017

0.7329 0.7833 1.7019

0.7328 0.7832 1.7018

0.7328 0.7833 1.7018

0.7328 0.7833 1.7018

0.7328 0.7833 1.7018

0.7328 0.7833 1.7018

简要介绍资料的主要内容,以获得更多的关注

0.7328 0.7833 1.7018

0.7328 0.7833 1.7018

i =18

ans =

0.7328

0.7833

1.7018

2、用高斯-塞德尔迭代法计算第1题中的线性方程组。

(1) 在初值、精度相同的情况下,计算结果。

(2) 与雅可比迭代法进行比较,得出你的结论。

2.程序:(1)

function [x,i,G]=gs(A,b,max,eps)

A=[10 2 3;2 10 1;3 1 10];

b=[14 11 20]';max=100;

eps=1e-006

L=-tril(A,-1);

U=-triu(A,1);

D=diag(diag(A));

G=inv(D-L)*U;

f=inv(D-L)*b;

x1=[0 0 0]';

C(1,:)=x1';

for i=1:max

x=G*x1+f;

C(i+1,:)=x';

n=norm((x-x1),inf);

if n<=eps

break;

end

x1=x;

end

C

i

结果:(1)

eps =1.0000e-003

C =

0 0 0

1.4000 0.8200 1.4980

0.7866 0.7929 1.6847

0.7360 0.7843 1.7008

0.7329 0.7833 1.7018

0.7328 0.7833 1.7018

i =5

ans =

简要介绍资料的主要内容,以获得更多的关注

0.7328

0.7833

1.7018

(2)

eps =1.0000e-006

C =

0 0 0

1.4000 0.8200 1.4980

0.7866 0.7929 1.6847

0.7360 0.7843 1.7008

0.7329 0.7833 1.7018

0.7328 0.7833 1.7018

0.7328 0.7833 1.7018

0.7328 0.7833 1.7018

0.7328 0.7833 1.7018

i =8

ans =

0.7328

0.7833

1.7018

(2)与雅可比迭代法进行比较,得出你的结论。

通过比较雅可比迭代法与高斯-塞德尔迭代法得:雅可比迭代法迭代次数比高斯-塞德尔迭代法要多。例如:当eps =1.0000e-003时:雅可比迭代法i =10,高斯-塞德尔迭代法i =5;当eps =1.0000e-006时:雅可比迭代法i =18,高斯-塞德尔迭代法i =8。

四、实验总结

通过学习,我觉得我听的最明白的一科就是数值,因为学的不累,也有例题可以做。数学就是要多做题的,所以课上多做题是很好明白当堂所学内容的。不过,实验就不是很好学了,我觉得还是学的不是很精细,下课又不练习,所以有些慢。希望老师课上多讲些实验的课授课会更好。

…… 此处隐藏:834字,全部文档内容请下载后查看。喜欢就下载吧 ……
雅可比迭代法与高斯-塞德尔迭代法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/114590.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)