1 / 15
文档名称:

关于矩阵的一些操作(求转置矩阵、行列式、矩阵的秩、矩阵的逆矩阵、两个矩阵的乘积矩阵).doc

格式:doc   大小:30KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

关于矩阵的一些操作(求转置矩阵、行列式、矩阵的秩、矩阵的逆矩阵、两个矩阵的乘积矩阵).doc

上传人:文库旗舰店 2019/12/1 文件大小:30 KB

下载得到文件列表

关于矩阵的一些操作(求转置矩阵、行列式、矩阵的秩、矩阵的逆矩阵、两个矩阵的乘积矩阵).doc

文档介绍

文档介绍:关于矩阵的一些操作(求转置矩阵、行列式、矩阵的秩、矩阵的逆矩阵、两个矩阵的乘积矩阵)该程序的功能主要解决一些简单矩阵计算问题。主要功能有:?矩阵输入?矩阵输出?输出矩阵的转置矩阵(可转置任意行列的矩阵)?求方阵的行列式(如果你输入错误,程序将提示你错误,你可关闭程序,重新输入行列相同的矩阵,再进行计算)?求矩阵的秩?求矩阵的逆矩阵(前提:行和列相等)?求两个矩阵的乘积矩阵(其中之一是你已经输入的那一个矩阵,另一个你可自行输入,可计算多次乘积)下面看代码:/*author:wangchangshuai0010sdust*/###defineN10voidoutput(doublea[][N],intam,intan){inti,j;printf(\nTheOriginalMatrixAis:\n);printf(**********************************************\n);for(i=0;iam;i++){for(j=0;jan;j++){printf(%,a[i][j]);}printf(\n);}}voidinver(doubleb[][N],intam,intan){inti,j;doublea[N][N],c[N][N];for(i=0;iam;i++){for(j=0;jan;j++){a[i][j]=b[i][j];}}for(i=0;iam;i++){for(j=0;jan;j++){c[j][i]=a[i][j];}}for(i=0;ian;i++){for(j=0;jam;j++){printf(%,c[i][j]);}printf(\n);}}doublegetdet(doubleb[][N],intam,intan){inti,j,k,l,nexti,count=0;doubletemp,a[N][N],detA=,x;for(i=0;iam;i++){for(j=0;jan;j++){a[i][j]=b[i][j];}}if(am==an){for(i=0,j=0;iam-1;i++,j++){nexti=i;while(a[i][j]==0){nexti++;temp=a[i][j];a[i][j]=a[nexti][j];a[nexti][j]=temp;}for(k=j+1;kam;k++){temp=a[i][k];a[i][k]=a[nexti][k];a[nexti][k]=temp;}for(l=i+1;lan;l++){if(a[l][j]==0){l++;}else{x=a[l][j]/a[i][j];for(k=j;kam;k++){a[l][k]=a[l][k]-(x)*a[i][k];}}}}for(i=0,j=0;iam;i++,j++){detA*=a[i][j];}}else{printf(error!\n);}returndetA;}voidgetrank(doubleb[][N],intam,intan){inti,s,j,k,l,nexti,t=0,count=0;doubletemp,x,a[N][N],detA=;if(aman){s=am;am=an;an=s;}for(i=0;iam;i++){for(j=0;jan;j++){a[i][j]=b[i][j];}}for(i=0,j=0;iam-1;i++,j++){nexti=i;while(a[i][j]==0){nexti=i+1;temp=a[i][j];a[i][j]=a[nexti][j];a[nexti][j]=temp;}for(k=j+1;kam;k++){temp=a[i][k];a[i][k]=a[nexti][k];a[nexti][k]=temp;}for(l=i+1;lan;l++){if(a[l][j]==0){l++;}else{x=a[l][j]/a[i][j];for(k=j;kam;k++){a[l][k]=a[l][k]-(x)*a[i][k];}}}}for(i=an-1;ian;i++){for(j=am;jan;j++){if(a[i][j]!=0){t++;}}}if(t==0){for(i=0,j=0;a[i][j]!=0ian;i++,j++){count++;}printf(therankis%d\n,count);}else{printf(**********************************************\n);printf(therankis%d\n,am);}}voidgetnijuzhen(doubleb