首先我们要明白矩阵乘法的规则
1)、当矩阵A的列数(column)等于矩阵B的行数(row)时,A与B可以相乘。
2)、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。
3)、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。
由规则我们就可以开始我们的方法设计
public static double[][] multiplyMatrix(double[][] a, double[][] b) {
double[][] nums = new double[a.length][b[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < b[0].length; j++) {
for (int k = 0; k < a[0].length; k++){
nums[i][j] += a[i][k] * b[k][j];
nums[i][j] = Math.round(nums[i][j] * 10) / 10.0;
}}
}
return nums;
}
注意这三个循环的顺序是有讲究的 因为对应着结果的行列
a的行 b的列 a的列b的行