How to write a matrix with java code, and the principle of matrix

在这里插入代码片
//方便大家直接赋值在自己的编辑器里跑一跑,看看结果.
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;
    }

Guess you like

Origin blog.csdn.net/qq_43071699/article/details/94881710