资源描述:
《数值分析编程及运行结果(高斯顺序消元法).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.高斯消元法1.程序:clearformatratA=input('输入增广矩阵A=')[m,n]=size(A);fori=1:(m-1)numb=int2str(i);disp(['第',numb,'次消元后的增广矩阵'])forj=(i+1):mA(j,:)=A(j,:)-A(i,:)A(j,i)/A(i,i);endAend%回代过程disp('回代求解')x(m)=A(m,n)/A(m,m);fori=(m-1):-1:1x(i)=(A(i,n)-A(i,i+1:m)x(i+1:m)')/A(i,i);endx..2.运
2、行结果:..高斯选列主元消元法1.程序:clearformatratA=input('输入增广矩阵A=')[m,n]=size(A);fori=1:(m-1)numb=int2str(i);disp(['第',numb,'次选列主元后的增广矩阵'])temp=max(abs(A(i:m,i)));[a,b]=find(abs(A(i:m,i))==temp);tempo=A(a(1)+i-1,:);A(a(1)+i-1,:)=A(i,:);A(i,:)=tempodisp(['第',numb,'次消元后的增广矩阵'])forj=(
3、i+1):mA(j,:)=A(j,:)-A(i,:)A(j,i)/A(i,i);endAend%回代过程disp('回代求解')..x(m)=A(m,n)/A(m,m);fori=(m-1):-1:1x(i)=(A(i,n)-A(i,i+1:m)x(i+1:m)')/A(i,i);endx2.运行结果:....追赶法1.程序:function[x,L,U]=zhuiganfa(a,b,c,f)a=input('输入矩阵-1对角元素a=');b=input('输入矩阵对角元素b=');c=input('输入矩阵+1对角元素c=');
4、f=input('输入增广矩阵最后一列元素f=');n=length(b);%对A进行分解u(1)=b(1);fori=2:nif(u(i-1)~=0)l(i-1)=a(i-1)/u(i-1);u(i)=b(i)-l(i-1)c(i-1);elsebreak;endendL=eye(n)+diag(l,-1);U=diag(u)+diag(c,1);x=zeros(n,1);y=x;..%求解Ly=by(1)=f(1);fori=2:ny(i)=f(i)-l(i-1)y(i-1);end%求解Ux=yif(u(n)~=0)x(n)
5、=y(n)/u(n);endfori=n-1:-1:1x(i)=(y(i)-c(i)x(i+1))/u(i);end2.运行结果:..高斯-塞德尔迭代格式1.程序:functionx=Gauss_Seidel(a,b)a=input('输入系数矩阵a=')b=input('输入增广矩阵最后一列b=');e=0.5e-7;n=length(b);N=50;x=zeros(n,1);t=zeros(n,1);fork=1:Nsum=0;E=0;t(1:n)=x(1:n);fori=1:nx(i)=(b(i)-a(i,1:(i-1))x
6、(1:(i-1))-a(i,(i+1):n)t((i+1):n))/a(i,i);endifnorm(x-t)7、))/a(i,i);endfori=1:nsum=sum+(y(i)-x(i))^2;endifsqrt(sum)8、输出:x为求得的方程组的解构成的列向量,n为迭代次数A=input('输入系数矩阵A=');b=input('输入方程组右端的列向量b=');X=input('输入迭代初值构成的列向量X=');nm=input('输入最大迭代次数nm=');w=i