欢迎来到天天文库
浏览记录
ID:44325098
大小:15.29 KB
页数:4页
时间:2019-10-20
《matlab高斯消去文档》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.用LU分解及列主元高斯消去法解线性方程组10-701x18-32.09999962x2=5.9000015-15-1x352102x41输出AX=b中系数A=LU分解的矩阵L及U,解向量x及detA;列主元法的行交换次序,解向量x及detA;比较两种方法所得结果.(1)LU分解法:CommandWindow中输入:>>A=[10-701;-32.09999962;5-15-1;2102]A=10.0000-7.000001.0000-3.00002.10006.00002.00005.0000-1.00005.0000
2、-1.00002.00001.000002.0000>>b=[85.90000151];>>A=[10-701;-32.09999962;5-15-1;2102];>>[l,u]=lu(a)l=1.0000000-0.3000-0.00001.000000.50001.0000000.20000.9600-0.80001.0000u=10.0000-7.000001.000002.50005.0000-1.5000006.00002.30000005.0800>>x=A/bx=0.31810.16340.46550.191
3、5>>A=det(A)A=-762.0001(2)列主元高斯消去法:编写文件gauss.mfunctionx=gauss(A,b)%系数矩阵非奇异的,%n=size(A,1);ifabs(det(A))<=1e-8error('系数矩阵是奇异的');return;end%fork=1:nak=max(abs(A(k:n,k)));index=find(A(:,k)==ak);iflength(index)==0index=find(A(:,k)==-ak);end%交换列主元temp=A(index,:);A(index,
4、:)=A(k,:);A(k,:)=temp;temp=b(index);b(index)=b(k);b(k)=temp;%消元过程fori=k+1:nm=A(i,k)/A(k,k);%消除列元素A(i,k+1:n)=A(i,k+1:n)-m*A(k,k+1:n);b(i)=b(i)-m*b(k);endend%回代过程x(n)=b(n)/A(n,n);fork=n-1:-1:1;x(k)=(b(k)-A(k,k+1:n)*x(k+1:n)')/A(k,k);endx=x';endCommandWindow中输入:>>A=[
5、10-701;-32.09999962;5-15-1;2102];>>b=[85.90000151];>>x=gauss(A,b)x=0.0000-1.00001.00001.0000>>A=det(A)A=-762.0001比较两种计算方法结果可以看出两者计算结果偏差较大。
此文档下载收益归作者所有