MATLAB线性方程组Jacobi迭代法 GaussSeidel迭代法源代码_第1页
MATLAB线性方程组Jacobi迭代法 GaussSeidel迭代法源代码_第2页
MATLAB线性方程组Jacobi迭代法 GaussSeidel迭代法源代码_第3页
MATLAB线性方程组Jacobi迭代法 GaussSeidel迭代法源代码_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、matlab线性方程组jacobi迭代法 gauss-seidel迭代法源代码1.熟悉迭代法,并编写程序 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

2、 nargin 4 it_max=100; endif nargin 3 ep=1e-5; endn=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)=errorbound & stepmaxspx0=inv(d

3、)*(l+u)*x0+inv(d)*b;vchain(k,:)=x0;k=k+1; error=norm(x0-fx0); fx0=x0; step=step+1;endv=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.2056sn = 11vchain = 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.177

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论