资源描述:
《数值分析课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SouthChinaUniversityofTechnology课程设计报告题目:数值分析课程设计报告理学院数学与应用数学2010级戴铭学生姓名学号提交日期2010304702702013年8月20日数值分析课程设计报告[设计题一]_.要求编写解线性代数方程组的列主元高斯消去法的函数,并调用该函数计算某个9阶以上的非奇异阵A的逆矩阵。通过计算AA1检查答案,并与使用inv(A)所得结果和运行时间进行比较。—.设计思路%1先确定求逆矩阵A为方阵z构造n*2n矩阵C,使得C二[A+E];%1令1=1,23……n,找岀第i列中从i到n的绝对值最大元素C(
2、kj),如果k~=I,则两行调换位置,并且把换位信息传给记录矩阵flag,同时对第i行进行化一处理,对第i+l行到n行通过行列变换使得C[:』二0,最后得到C为前nF是上三角的单位阵;%1通过行列变换把矩阵C的前n*n部分化成单位阵;%1把C的后nF部分赋给B,则B就是所求的逆矩阵。functionB=inv_dm(A)%用途:列主元高斯消去法求逆矩阵%A原矩阵%B逆矩阵[n,n]=size(A);B=zeros(n,n);C=zeros(nf2*n);fori=l:nforj=l:nC(i,j)=A(izj);endfork=n+l:2*nifk
3、~=n+iC(i,k)=0;elseC(izk)=l;endendend%构造C=[A+E]flag=l:n;务记录行顺序向杲fori=l:n-1t=find(mbs(C(i:n,i))==max(abs(C(i:n,i))));$寻找最大元素t=t(1)+i-l;flag(i)=t;ift~=iP=C(i,:);C(iz:)=C(t,:);C(t,:)=p;%换位endifC(i,i)==0error(1矩阵不可逆');endC(i,:)=C(i,:)/C(izi);forj=i+l:nC(j,:)=C(jz:)-C(iz:)*C(j,i);en
4、dendC(nz:)=C(n,:)/C(n,n);%因为循环结构问题,所以C[nz:]并没有化一,所以在最后才把最后一行化-fori=n:-1:2forj=l:i-1C(j,:)=C(j,:)-C(iz:)*C(j,i);endend咎通过行变换,使得C的前n列为单位阵形式fori=n:-1:1t=flag(i);ift~=ip=C(:,t);C(:,t)=C(:zi);C(:,i)=p;endend咎通过行变化矩阵还原行的顺序fori=l:nforj=l:nB(i,j)=C(izn+j);endend咎将C的麻n列赋给B矩阵四■程序运行操作过程与
5、输出结果操作时间—13-8-6下午6:11—%p-clcHinv_dm([10;01])Hginv([10;01])Hinv_dm([10;01])inv_dm([1234567(>•clc■Hie;kinv.dm([l234567£>-toe%1给岀所要求逆的矩阵A:A=123456789234567891345678912456789123567891234912345678%1执行inv_dm(A)»tic;formatrat;inv_dm(A)toe;ans=Elapsedtimeis0.003933seconds.-44/4051/405
6、1/4051/4051/4051/4051/4051/40546/4051/4051/4051/4051/4051/4051/4051/40546/405-44/4051/4051/4051/4051/4051/4051/40546/405-44/4051/4051/4051/4051/4051/4051/40546/405-44/4051/4051/4051/4051/4051/4051/40546/405-44/4051/4051/4051/4051/4051/4051/40546/405-44/4051/4051/4051/4051/4051
7、/4051/40546/405-44/4051/4051/4051/4051/4051/4051/40546/405-44/4051/4051/4051/4051/4051/4051/40546/405-44/4051/4051/4051/4051/4051/4051/4051/405%1执行inv(A)»tic;formatrat;inv(A)toe;ans=-44/4051/4051/4051/4051/4051/4051/4051/40546/4051/4051/4051/4051/4051/4051/4051/40546/405-44/40
8、51/4051/4051/4051/4051/4051/40546/405-44/4051/4051/4051/4051/