资源描述:
《现代数值计算方法实验二》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二线性方程组直接实验一、实验目的1.运用matlab软件完成线性方程组的直接实验;2.通过实验,了解列主元和顺序高斯消去法的异同,1』分解的优点及追赶法的优点.二、实验题目1.分别用列主元法和顺序高斯消去法求解下面的线性方程组,分析对结果的影响:‘0.3*10-“59.143r/■、勺⑸.97、1211211.29521、5.291-6.13-12丿5,46.78,2.LU分解的优点实验题目:给矩阵A和向量b:(nn-1n231、2◎0A二,b=nn- Jn丿⑴求A的LU分解,n的值自己确定;(2)利用A的LU分解求解下列方程组(a)Ax=b,(b)A
2、2x=b,(c)A3x=b.对方程组(c),若先求LU二",再解(LU)x二b有何缺点?3.追赶法的优点实验题目:用追赶法分别对"10,n=100,n=1000解方程组Ax=b,其中<4-1-14-1、5,b=-14-15-14丿再用LU分解法解此方程组,并对二者进行比较.三、实验原理1•⑴列主元法算法原理:%magauss2・mfunctionx=magauss2(A,b,flag)ifnargin<3,flag=0;cndn二length(b);fork二1:(n~l)%选主元[ap,p]=max(abs(A(k:n,k)));p二p+kT;ifp>kt
3、=A(k,:);A(k,:)=A(p,:);A(p,:)=t;t=b(k);b(k)=b(p);b(p)=t;end%消元m=A(k+1:n,k)/A(k,k);A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-m*A(k,k+1:n);b(k+1:n)=b(k+1:n)-m*b(k);A(k+1:n,k)二zeros(n-k,1);ifflag^=0,Ab=[A,b],endend%回代x二zeros(n,1);x(n)=b(n)/A(n,n);fork=n-l:-1:1x(k)=(b(k)-A(k,k+l:n)*x(k+1:n))/A(k,k)
4、;end⑵顺序高斯消去法算法原理:%magauss・mfunctionx=magauss(A,b,flag)ifnargin<3zflag=O;endn=length(b);%消元fork=l:(n-1)m=A(k+1:nzk)/A(k,k);A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-m*A(k,k+1:n);b(k+1:n)=b(k+1:n)-m*b(k);A(k+1:nzk)=zeros(n-kf1);ifflag^=0,Ab=[A,b],endend%回代x=zeros(nA1);X(n)=b(n)/A(n,n);fork=n-l:-
5、1:1x(k)=(b(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);end2.LU分解算法原理:%LU分解function[1,u]=lufj(A)[n,m]=size(A);u=zcros(n,n);1二eye(n,n);u(l,:)=A(1,:);l(2:n,l)=A(2:n,l)/u(l,1);fork二2:nu(k,k:n)=A(k,k:n)-l(k,l:kT)*u(l:kT,k:n);1(k+1:n,k)=(A(k+1:n,k)-1(k+1:n,1:k-1)*u(1:k-l,k))/u(k,k);end%解下三角方程组Ly二bfun
6、ctiony=lowt(1,b)nFlength(b);y=zeros(n,1);y⑴二b(l);fork=2:ny(k)=b(k)-1(k,1:k-1)*y(1:k-1);end%解上三角方程组Ux二yfunctionx=upt(u,y)n=lcngth(y);x=zeros(n,1);x(n)=y(n)/u(n,n);fork=n-l:-l:1x(k)=(y(k)-u(k,k+1:n)*x(k+1:n))/u(k,k);endmalu.mfunction[x,1,u]=malu(A,b)%用途:用LU分解法解方程组Ax二b%格式:[x,1,u]=malu
7、(A,b)A为系数矩阵,b为右端向量,x返回%解向量,1返回下三角矩阵,u返回上三角矩阵formatshort%LU分解n=length(b);u=zeros(n,n);1二eye(n,n);u(l,:)=A(1,:);1(2:n,l)=A(2:n,l)/u(l,1);fork=2:nu(k,k:n)=A(k,k:n)-l(k,1:k-l)*u(l:k-l,k:n);1(k+1:n,k)=(A(k+1:n,k)-1(k+1:n,1:k-1)*u(l:k-l,k))/u(k,k);end%解下三角方程组Ly二by二zeros(n,1);y(l)=b(l);fo
8、rk=2:ny(k)=b(k)-1(k,1:k-1)