矩陣乘法(java版簡單實例)


矩陣是由m×n個數組成的一個m行n列的矩形表格.特別地,一個m×1矩陣也稱爲一個m維列向量;而一個1×n矩陣 ,也稱爲一個n維行向量.



public class TestMatrix {

    //rowA*colA  代表m行n列的矩陣
    final static int rowA = 2;
    final static int colA = 3;

    final static int rowB = 3;
    final static int colB = 1;

    public static void main(String[] args) {
        int mA[][] = new int[rowA][colA];
        int mB[][] = new int[rowB][colB];
        int mC[][] = new int[rowA][colB];
        /************初始化A的元素**************/
        System.out.println("矩陣a:");

        for (int i = 0; i < mA.length; i++) {
            for (int j = 0; j < mA[i].length; j++) {
                mA[i][j] = (int) ((Math.random() * 1000) % 15 );
                System.out.printf("%d ", mA[i][j]);
            }
            System.out.println();
        }
        /************初始化B的元素**************/
        System.out.println("\n矩陣b:");
        for (int i = 0; i < mB.length; i++) {
            for (int j = 0; j < mB[i].length; j++) {
                mB[i][j] = (int) ((Math.random() * 1000) % 15 );
                System.out.printf("%d ", mB[i][j]);
            }
            System.out.println();
        }

        /************矩陣C**************/
        System.out.println("\n矩陣c:");
        for (int i = 0; i < rowA; i++) {
            for (int j = 0; j < colB; j++) {

                for (int ac = 0; ac < colA; ac++) {
                    mC[i][j] += mA[i][ac] * mB[ac][j];
                }
                System.out.printf("%d ", mC[i][j]);
            }
            System.out.println();
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章