矩阵相乘代码

来源:互联网 发布:数据预处理 去除噪声 编辑:程序博客网 时间:2024/05/29 12:58

首先应该知道矩阵相乘是怎样的?举个例子:

矩阵a 31 1              

   2 2 4

    1 0 2

   51 1

 矩阵b 12

1 1

2 3

那么c[0][0]=a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]=3*1+1*2+1*1

类似c[0][1]=a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]=3*2+1*3+1*1

   代码    public static int[][] cheng(int a[][],int b[][]){
int m=a.length;
int n=b[0].length;
int q=a[0].length;
int[][] c=new int[m][n];

for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
for(int k=0;k<q;k++){
c[i][j]+=a[i][k]*b[k][j];
}
}
}
return c;
}


for(int i=0;i<m;i++)控制生成矩阵的行数;

for(int j=0;j<n;j++)控制生成举证的列数;

for(int k=0;k<q;k++)控制生成矩阵的各个元素是怎么得来的

0 0