C语言求矩阵的逆

上传人:cn****1 文档编号:498620360 上传时间:2024-01-09 格式:DOC 页数:8 大小:45KB
返回 下载 相关 举报
C语言求矩阵的逆_第1页
第1页 / 共8页
C语言求矩阵的逆_第2页
第2页 / 共8页
C语言求矩阵的逆_第3页
第3页 / 共8页
C语言求矩阵的逆_第4页
第4页 / 共8页
C语言求矩阵的逆_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C语言求矩阵的逆》由会员分享,可在线阅读,更多相关《C语言求矩阵的逆(8页珍藏版)》请在金锄头文库上搜索。

1、#include#includevoidjiafa()intm,n;floata2020,b2020,c2020;inti,j;printf(”请输入矩阵行数:”);scanf(%d,&m);printf(请输入矩阵列数:”);scanf(%d,&n);printf(请输入第一个矩阵:”);for(i=0;im;i+)for(j=0;jn;j+)scanf(%f,&aij);printf(请输入第二个矩阵:”);for(i=0;im;i+)for(j=0;jn;j+)scanf(%f,&bij);printf(矩阵相加的结果为:”);for(i=0;im;i+)for(j=0;jn;j+)ci

2、j=aij+bij;printf(%4f,cij);printf(n);voidjianfa()intm,n;floata2020,b2020,c2020;inti,j;printf(请输入矩阵行数:”);scanf(%d,&m);printf(请输入矩阵列数:”);scanf(%d,&n);printf(请输入第一个矩阵:”);for(i=0;im;i+)for(j=0;jn;j+)scanf(%f,&aij);printf(请输入第二个矩阵:”);for(i=0;im;i+)for(j=0;jn;j+)scanf(%f,&bij);printf(矩阵相减的结果为:);for(i=0;im;

3、i+)for(j=0;jn;j+)cij=aij-bij;printf(%4f,cij);printf(n);voidchengfa()intm,n;floats;floata2020,b2020,c2020;inti,j,k;printf(请输入矩阵行数:”);scanf(%d,&m);printf(请输入矩阵列数:”);scanf(%d,&n);printf(请输入第一个矩阵:”);for(i=0;im;i+)for(j=0;jn;j+)scanf(%f,&aij);printf(请输入第二个矩阵:”);for(i=0;in;i+)for(j=0;jm;j+)scanf(%4f,&bij)

4、;for(i=0;im;i+)for(j=0;jm;j+)s=0;for(k=0;kn;k+)s=s+aik*bkj;cij=s;for(i=0;im;i+)for(j=0;jm;j+)printf(%4f,cij);printf(n);voidzhuanzhi()intm,n;floata2020,b2020;inti,j;printf(请输入矩阵行数:”);scanf(%d,&m);printf(请输入矩阵列数:”);scanf(%d,&n);printf(请输入一个矩阵:”);for(i=0;im;i+)for(j=0;jn;j+)scanf(%f,&aij);for(i=0;im;i+

5、)for(j=0;jn;j+)bij=aji;printf(%4f,bij);printf(n);voidqiuni()intN;printf(输入矩阵的阶数N:n);scanf(%d,&N);floata1010,b1020,c1010,t;inti,j,m;printf(请输入行列式不为0的矩阵A(%d阶):n,N);矩阵A的各元素存入二维数组a中。for(i=0;iN;i+)for(j=0;jN;j+)scanf(%f,&aij);增广矩阵(A|E)存入二维数组b中for(i=0;iN;i+)for(j=0;jN;j+)bij=aij;for(i=0;iN;i+)for(j=N;j2*N

6、;j+)bij=0;for(i=0;iN;i+)biN+i=1;for(m=0;mm)/实现交换。bim=t;/交换其它各列相应位置的元素for(j=0;jm;j+)t=bmj;bmj=bij;bij=t;for(j=m+1;j2*N;j+)t=bmj;bmj=bij;bij=t;for(i=m+1;i=m;j-)bij-=bim*bmj/bmm;m=0时,将第一行的-biO/bOO倍加到以下各行。这样以下每行第一个元素bi0就为0。for(j=2*N-1;j=m;j-)bmj/=bmm;对第m行作行变换,同除以bmm,使bmm为1。printf(第一步变换后得到的增广矩阵为:n);for(i

7、=0;iN;i+)for(j=0;j0)for(i=0;i=m;j-)/千万注意,此处j必须递减,否则bim先变为0,后面的计算就无效!bij-=bim*bmj;m-;printf(最后得到的增广矩阵为:n);for(i=0;iN;i+)for(j=0;j2*N;j+)printf(%3.5f,bij);printf(n);实现了:每个i对应一个换行。for(i=0;ivN;i+)将逆矩阵存入二维数组c中。for(j=0;jN;j+)cij=biN+j;printf(故逆矩阵为:n);for(i=0;ivN;i+)for(j=0;jvN;j+)printf(%3.5f,cij);printf(n);实现了:每个i对应一个换行。main()intw;printf(1矩阵加法n);printf(2矩阵减法n);printf(3矩阵乘法n”);printf(4矩阵转置n);printf(5矩阵求逆n”);printf(n);printfC请选择要进行的运算:);scanf(%d,&w);switch(w)case1:jiafa();break;case2:jianfa();break;case3:chengfa();break;case4:zhuanzhi();break;case5:qiuni();break;return0;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号