Jacobi迭代法 Gauss-Seidel迭代法【DOC精选】.doc

Jacobi迭代法 Gauss-Seidel迭代法【DOC精选】.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab线性方程组的迭代解法(Jacobi迭代法 Gauss-Seidel迭代法)实验报告 2008年11月09日 星期日 12:49 1.熟悉Jacobi迭代法,并编写Matlab程序matlab程序 按照算法(Jacobi迭代法)编写Matlab程序(Jacobi.m) function [x, k, index]=Jacobi(A, b, ep, it_max) %求解线性方程组的Jacobi迭代法,其中 % A ---方程组的系数矩阵 % b ---方程组的右端项 % ep ---精度要求。省缺为1e-5 % it_max ---最大迭代次数,省缺为100 % x ---方程组的解 % k ---迭代次数 % index --- index=1表示迭代收敛到指定要求; % index=0表示迭代失败 if nargin 4 it_max=100; end if nargin 3 ep=1e-5; end n=length(A); k=0; x=zeros(n,1); y=zeros(n,1); index=1; while 1 for i=1:n y(i)=b(i); for j=1:n if j~=i y(i)=y(i)-A(i,j)*x(j); end end if abs(A(i,i))1e-10 | k==it_max index=0; return; end y(i)=y(i)/A(i,i); end if norm(y-x,inf)ep break; end x=y; k=k+1; end 用Jacobi迭代法求方程组 的解。 输入: A=[4 3 0;3 3 -1;0 -1 4]; b=[24;30;-24]; [x, k, index]=Jacobi(A, b, 1e-5, 100) 输出: x = -2.9998 11.9987 -3.0001 k = 100 index = 0 2.熟悉Gauss-Seidel迭代法,并编写Matlab程序 function [v,sN,vChain]=gaussSeidel(A,b,x0,errorBound,maxSp) %Gauss-Seidel迭代法求解线性方程组 %A-系数矩阵 b-右端向量 x0-初始迭代点 errorBound-近似精度 maxSp-最大迭代次数 %v-近似解 sN-迭代次数 vChain-迭代过程的所有值 step=0; error=inf; s=size(A); D=zeros(s(1)); vChain=zeros(15,3);%最多能记录15次迭代次数 k=1; fx0=x0; for i=1:s(1) D(i,i)=A(i,i); end; L=-tril(A,-1); U=-triu(A,1); while error=errorBound stepmaxSp x0=inv(D)*(L+U)*x0+inv(D)*b; vChain(k,:)=x0; k=k+1; error=norm(x0-fx0); fx0=x0; step=step+1; end v=x0; sN=step; 用Gauss-Seidel迭代法求解上题的线性方程组,取 。 输入: A=[4 3 0;3 3 -1;0 -1 4]; b=[24;30;-24]; x0=[0;0;0]; [v,sN,vChain]=gaussSeidel(A,b,x0,0.00001,11) 输出: v = 0.6169 11.1962 -4.2056 sN = 11 vChain = 6.0000 10.0000 -6.0000 -1.5000 2.0000 -3.5000 4.5000 10.3333 -5.5000 -1.7500 3.6667 -3.4167 3.2500 10.6111 -5.0833 -1.9583 5.0556 -3.3472 2.2083 10.8426 -4.7361 -2.1319 6.2130 -3.2894 1.3403 11.0355 -4.4468 -2.2766 7.1775 -3.2411 0.6169 11.1962 -4.2056 0

文档评论(0)

taotao0b + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档