
实验四实验报告线性方程组的迭代解法.pdf
81页实验四线性方程组的迭代解法一、 实验目的(1) 学会用 Jacobi 迭代法、 Gauss- Seidel 迭代法和超松弛迭代法求线性方程组解(2) 学会对各种迭代法作收敛性分析,研究求方程组解的最优迭代方法.(3) 按照题目要求完成实验内容,写出相应的Matlab 程序,给出实验结果.(4) 对实验结果进行分析讨论.(5) 写出相应的实验报告. 二、实验内容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=x;index=1; while l 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) 123430243313001424xxx修改上述程序,得到正确的源程序: function[x,k,index]=Jacobi(A,b,ep,it_max) % £¥ ? ó?a??D?·?3ì×éμ ?Jacobi μü′ú·¨,???D, % £¥ A?a ·?3ì×éμ ??μê y???ó; % £¥ b?a ·?3ì×éμ ?óò ????; % £¥ ep?a??? èò a?ó£ ?è±ê ??μ1e-5; % £¥ it_max?a×?′ó ??′ú′ ?êy£?è±ê ??μ100; % £¥ x?a ·?3ì×éμ ??a; % £¥ k?a μü′ú′ ?êy; % £¥ index?a??±ê± ?á? index=1±íê ?μü′úê ?á2μ????¨ò a?ó, % £¥ 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=x; index=1; while 1 for i=1:n y(i)=b(i) for j=1:n if j~=iy(i)=y(i)-A(i,j)*x(j); end end if abs(A(i,i))<1e-10|k==it_maxindex=0; return; endy(i)=y(i)/A(i,i); end if norm(y-x,inf)





![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)






