鉴于大家对其他类别十分关注,我们编辑小组在此为大家搜集整理了“ 用计算机方法实现RM展开式与最小项系数的转化”一文,供大家参考学习!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
4.2 程序核心代码及注释 #include<stdio.h> #include<math.h> #include<myhead.h> int b[8][1]; int a[8][8]=T1; /*T1为在myhead.h中定义的三维变量转换矩阵*/ int c[8][1]; int MultMatrix(int a[][8],int arow,int acol, int b[][1],int brow,int bcol, int c[][1],int crow,int ccol); /*三维变量矩阵乘法 */ void mult3() { int i,j; printf("input matrix :\n"); printf("请输入您需要换算的bj系数或者cj系数数组\n"); {for(i=0;i<8;i++) for(j=0;j<1;j++) scanf("%d",&b[i][j]); } printf("\n"); if(MultMatrix(a,8,8,b,8,1,c,8,1)) /*返回值为1表示两矩阵不满足矩阵乘法规则 */ {printf("illegal matrix multiplication.\n"); printf("您所输入的数组存在问题请核对后重新输入\n"); return;} printf("The Answer Is:\n"); /*返回值为0表示矩阵相乘成功输出结果 */ printf("您得到的bj或者cj系数转换结果是:\n"); for( i=0;i<8;i++) {for(j=0;j<1;j++) printf("%d ",c[i][j]); printf("\n");} printf("\n"); } int MultMatrix(int a[][8],int arow,int acol, int b[][1],int brow,int bcol, int c[][1],int crow,int ccol) {int i,j,n; if(acol!=brow) return 1; if(crow!=arow) return 1; if(ccol!=bcol) /*矩阵相乘需保证被乘矩阵的列数与相乘矩阵的行数相等 */ return 1; for( i=0;i<crow;i++) for( j=0;j<ccol;j++) {c[i][j]=0; for( n=0;n<acol;n++) c[i][j]+=(a[i][n]*b[n][j]); c[i][j]=c[i][j]%2; /*采用模2加法运算 */ } return 0; } 以上程序主要是运算三维变量的RM展开式系数与最小项系数之间的转化,可以看出两者之间的转化主要依赖于矩阵的乘法。仔细研究很容易类推出四维,五维变量的算法。 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |