资源描述:
《Gauss列主元消去法、QR(MATLAB).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、例:用Gauss列主元消去法、QR方法求解如下方程组:1.1)Gauss列主元法源程序:functionx=Gauss(A,b)[m,n]=size(A);ifm~=nerror('矩阵不是方阵')returnendB=[A,b];n=length(A);forj=1:n-1q=[zeros(j-1,1);B(j:n,j)];[c,r]=max(abs(q));%c为列主元,r为所在行ifr~=jtemp=B(j,:);%交换两行B(j,:)=B(r,:);B(r,:)=temp;endfori=j+1:n
2、B(i,:)=B(i,:)-B(j,:)*(B(i,j)/c);endendx(n)=B(n,n+1)/B(n,n);fori=n-1:-1:1forj=i:n-1B(i,n+1)=B(i,n+1)-B(i,j+1)*x(j+1);endx(i)=B(i,n+1)/B(i,i);end2)在命令窗口输入A,b,得到x的近似解:>>A=[2,2,1,2;4,1,3,-1;-4,-2,0,1;2,3,2,3];>>b=[1;2;1;0];>>x=Gauss(A,b)x=1.5417-2.75000.08331.
3、66672.1)QR方法源程序:function[Q,R,X]=qrfj(A,b)[m,n]=size(A);ifm4、n-1:-1:1forj=i:n-1Y(i)=Y(i)-R(i,j+1)*X(j+1);endX(i)=Y(i)/R(i,i);end2)在命令窗口输入A,b,得到x的近似解:>>A=[2,2,1,2;4,1,3,-1;-4,-2,0,1;2,3,2,3];>>b=[1;2;1;0];>>[Q,R,X]=qrfj(A,b)Q=0.31620.3705-0.0284-0.87290.6325-0.49400.5966-0.0000-0.63250.08230.7386-0.21820.31620.78220.
5、31250.4364R=6.32463.47852.84600.31620.00002.42900.45293.66410.00000.00002.38641.0227-0.0000-0.0000-0.0000-0.6547X=1.5417-2.75000.08331.6667