编程求解逆矩阵.doc
《编程求解逆矩阵.doc》由会员分享,可在线阅读,更多相关《编程求解逆矩阵.doc(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、_本程序是运用矩阵的初等变换的知识来求解矩阵的逆矩阵的。1.理论基础:若存在矩阵P使得矩阵A有PA = E那么 P = A。所以如果我们将(A,E)化成了(E,P),那么,P就是我们要求的A。2.由上面的分析可知,我们思路可分为以下3步:(1)申请一个新的矩阵,它是(A,E)(2) 将A先对角化(3)再将A单位化E,这是A后面的部分就是A了。3.编程实现#include#includefloat A110,A2102*10,B1010;/原矩阵、加上单位矩阵后的矩阵、所求的逆矩阵void ShangSanJiao(int n)/化成上三角int k,i,j,l=0,temp;if(A200 =
2、 0)while(A2l0=0&ln-1)l+;if(l!=0)/如果00处的数为0,则交换for(i=0;i2*n;i+)temp = A2li;A2li = A20i;A20i = temp;for(k=0;kn-1;k+)for(i=k+1;in;i+)A1i = A2ik/A2kk;for(l=k+1;ln;l+)for(j=0;j=0;i-)A1i=A2ii;for(i=n-1;i=0;i-)for(j=0;j0;i-)for(j=i-1;j=0;j-)temp = A2ji;for(l=0;l10)printf(矩阵不再表示的范围内!);exit(-1);int i,j;for(i
3、=0;in;i+)for(j=0;jn;j+)scanf(%f,&A2ij);for(j=n;j2*n;j+)A2ij=0;for(i=0,j=n;in,j2*n;i+,j+)A2ij = 1;/*for(i=0;in;i+)for(j=0;j2*n;j+)printf(%f ,A2ij);printf(n);printf(n);*/显示输入的矩阵ShangSanJiao(n);/化成上三角/*for(i=0;in;i+)for(j=0;j2*n;j+)printf(%f ,A2ij);printf(n);printf(n);*/显示上三角的矩阵DuiJiaoXian(n);/对角化1/*for(i=0;in;i+)for(j=0;j2*n;j+)printf(%f ,A2ij);printf(n);printf(n);*/显示对角线化1后的矩阵DanWei(n);/将原矩阵单位化/*for(i=0;in;i+)for(j=0;j2*n;j+)printf(%f ,A2ij);printf(n);printf(n);*/将所求矩阵移到B中for(i=0;in;i+)for(j=n;j2*n;j+)Bij-n =A2ij;/显示所求的逆矩阵for(i=0;in;i+)for(j=0;jn;j+)printf(%f ,Bij);printf(n);return 0;7_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 求解 矩阵
限制150内