资源描述:
《数值分析计算方法实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、........课程名称计算方法实验项目名称线性方程组的数值解法实验项目类型验证演示综合设计其他指导教师胡小兵成绩√.专业学习资料.........1.实验目的:(1)高斯列主元消去法求解线性方程组的过程(2)熟悉用迭代法求解线性方程组的过程(3)设计出相应的算法,编制相应的函数子程序2.实验内容分别用高斯列主元消去法,Jacobi迭代法,Gauss--Saidel迭代法,超松弛迭代法求解线性方程组3.实验环境及实验文件存档名写出实验环境及实验文件存档名4.实验结果及分析输出计算结果,结果分析和小结等。解:1.高斯列主元消
2、去法:%用高斯列主元消去法解实验1%高斯列主元消元法求解线性方程组Ax=b%A为输入矩阵系数,b为方程组右端系数%方程组的解保存在x变量中formatlong;.专业学习资料.........A=[2,10,0,-3;-3,-4,-12,13;1,2,3,-4;4,14,9,-13]b=[10,5,-2,7]'[m,n]=size(A);ifm~=nerror('矩阵A的行数和列数必须相同');return;endifm~=size(b)error('b的大小必须和A的行数或A的列数相同');return;endifran
3、k(A)~=rank([A,b])error('A矩阵的秩和增广矩阵的秩不相同,方程不存在唯一解');return;endc=n+1;A(:,c)=b;fork=1:n-1[r,m]=max(abs(A(k:n,k)));m=m+k-1;if(A(m,k)~=0)if(m~=k).专业学习资料.........A([km],:)=A([mk],:);endA(k+1:n,k:c)=A(k+1:n,k:c)-(A(k+1:n,k)/A(k,k))*A(k,k:c);endendx=zeros(length(b),1);x(n
4、)=A(n,c)/A(n,n);fork=n-1:-1:1x(k)=(A(k,c)-A(k,k+1:n)*x(k+1:n))/A(k,k);enddisp('X=');disp(x);formatshort;输出结果:.专业学习资料.........2.Jacobi迭代法:%Jacobi迭代法求解实验1%A为方程组的增广矩阵clc;A=[2100-310;-3-4-12135;123-4-2;4149-137]MAXTIME=50;eps=1e-5;[n,m]=size(A);x=zeros(n,1);y=zeros(n,
5、1);.专业学习资料.........k=0;disp('迭代过程X的值情况如下:')disp('X=');while1disp(x');fori=1:1:ns=0.0;forj=1:1:nifj~=is=s+A(i,j)*x(j);endy(i)=(A(i,n+1)-s)/A(i,i);endendfori=1:1:nmaxeps=max(0,abs(x(i)-y(i)));endifmaxeps<=epsfori=1:1:nx(i)=y(i);endreturn;.专业学习资料.........endfori=1:1:
6、nx(i)=y(i);y(i)=0.0;endk=k+1;ifk>MAXTIMEerror('超过最大迭代次数,退出');return;endend输出结果:.专业学习资料.........由于不收敛,故出现上述情况。3.Gauss--Saidel迭代法%Gauss_Seidel迭代法求解实验1%A为方程组的增广矩阵clc;formatlong;A=[2100-310;-3-4-12135;123-4-2;4149-137][n,m]=size(A);.专业学习资料.........Maxtime=50;Eps=10E-5
7、;x=zeros(1,n);disp('x=');fork=1:Maxtimedisp(x);fori=1:ns=0.0;forj=1:nifi~=js=s+A(i,j)*x(j);endendx(i)=(A(i,n+1)-s)/A(i,i);endifsum((x-floor(x)).^2)8、阵.专业学习资料.........clc;A=[2,10,0,-3;-3,-4,-12,13;1,2,3,-4;4,14,9,-13]b=[10,5,-2,7]'w=1.45;Maxtime=100;Eps=1E-5;formatlong;n=length(A);k=0;x=ones(n,1);y=x;