在这里插入代码片
//方便大家直接赋值在自己的编辑器里跑一跑,看看结果.
main方法里面的代码块:
double[][] a = new double[2][2];
a[0][0] = 1;
a[0][1] = 2;
a[1][0] = 3;
a[1][1] = 4;
double[][] b = new double[2][2];
b[0][0] = 5;
b[0][1] = 6;
b[1][0] = 7;
b[1][1] = 8;
double[][] ints = t_19(a, b);
for (double[] c:ints
) {
for (double d:c
) {
System.out.println(d);
}
}
}
```/**
* 矩阵相乘(方阵)
* a[][]*b[][] = c[][]
* 让我纠结了一下午的矩阵,终于搞明白了是怎么进行运算的.
* 矩阵一: 矩阵二:
* 1 2 5 6
* 3 4 7 8
*
* 计算的方式很简单,就是第一个矩阵的横列与第二个矩阵的竖列依次从左向右,从上向下的进行计算
* 写出计算过程大家就明白了.
* 1*5+2*7=19;
* 1*6+2*8=22;
* 3*5+4*7=43;
* 3*6+4*8=50;
* 矩阵有点小
* 矩阵三: 矩阵四:
* 1 2 3 4 5 6 7 8
* 5 6 7 8 9 10 11 12
* 9 10 11 12 13 14 15 16
* 13 14 15 16 17 18 19 20
*1*5+2*9+3*13+4*17=...
* 1*6+2*10+3*14+4*18=...
* ...
* ...
* 5*5+6*9+7*13+8*17=...
* .....
* 最后一个
* 13*8+14*12+15*16+16*20=...
* 大家都懂
* 这样下来算出的数也是16个,所以矩阵要求两个矩阵的行列都是相等的.
* 注意:这个题必须是方阵,
*/
public static double[][] t_19(double[][] a,double[][]b){
int N = a.length;
double[][] c = new double[N][N];
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
for (int k = 0; k < N; k++) {
c[i][j] += a[i][k]*b[k][j];
}
}
}
return c;
}
How to write a matrix with java code, and the principle of matrix
Guess you like
Origin blog.csdn.net/qq_43071699/article/details/94881710
Recommended
Ranking