- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五__解线性方程组的迭代法
实验五 解线性方程组的迭代法
5.1实验目的
= 1 \* GB3 ① 掌握解线性方程组的雅可比迭代和高斯-塞德尔迭代算法;
= 2 \* GB3 ② 培养编程与上机调试能力.
5.2算法步骤
5.2.1迭代法的基本思想
根据方程组设计出一个迭代公式,然后将任意选取的一初始向量代入迭代公式,求出,再以代入同一迭代公式,求出,如此反复进行,得到向量序列.当收敛时,其极限即为原方程组的解.
5.2.2雅可比(Jacobi)迭代法解方程组
设方程组的系数矩阵对角线元素,为最大迭代次数,为容许误差. 雅可比(Jacobi)迭代法解方程组算法步骤如下:
= 1 \* GB3 ① 取初始向量,令.
= 2 \* GB3 ② 对,计算.
= 3 \* GB3 ③ 如果,则输出,结束;否则执行 = 4 \* GB3 ④
= 4 \* GB3 ④ 如果,则不收敛,终止程序;否则,转 = 2 \* GB3 ②
5.2.3高斯-塞德尔(Gauss-Seidel)迭代法
在雅可比(Jacobi)迭代法中,如果当新的分量求出后,马上用它来代替旧的分量,则可能会更快地接近方程组的准确解.基于这种设想构造的迭代公式称为高斯-塞德尔(Gauss-Seidel)迭代法. 算法可相应地从雅可比(Jacobi)迭代法改造得到.
5.3实验内容
应用雅可比迭代和高斯-塞德尔算法分别求解线性方程组
要求:选择不同的迭代次数,观察输出结果;
5.4 实验程序:
雅可比迭代:
function [xk,k]=f5_Jacobi(x0,A,b,m)
e=10.^(-4);
[r,n]=size(x0);
n=max(r,n);
x0=reshape(x0,1,n);
k=0;
while km
k=k+1;
for i=1:n
xk(i)=(b(i)-sum(A(i,:).*x0)+A(i,i)*x0(i))./A(i,i);
end
if sum(abs(xk-x0))e
break;
end
x0=xk;
end
高斯-塞德尔算法
function [xk,k]=f5_Gs(x0,A,b,m)
e=10.^(-5);
[r,n]=size(x0);
n=max(r,n);
x0=reshape(x0,1,n);
xk=[];
k=0;
while km
k=k+1;
for i=1:n
xk(i)=(b(i)-sum(A(i,1:i-1).*xk(1:i-1))-sum(A(i,i+1:n).*x0(i+1:n)))./A(i,i);
end
if sum(abs(xk-x0))e
break;
end
x0=xk;
end
5.5 实验求解:
在command window窗口输入如下命令求解方程组
A=[8,-3,2;4,11,-1;6,3,12];
b=[20;33;36];
[xk,k]=f5_Jacobi(x0,A,b,20)
xk =
3.0000 2.0000 1.0000
k =
12
[xk,k]=f5_Jacobi(x0,A,b,5)
xk =
3.0003 1.9840 1.0010
k =
5
[xk,k]=f5_Gs(x0,A,b,20)
xk =
3.0000 2.0000 1.0000
k =
8
[xk,k]=f5_Gs(x0,A,b,5)
xk =
2.9998 2.0001 1.0001
k =
5
文档评论(0)