亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java實現的矩陣乘法示例

發布時間:2020-09-08 05:22:34 來源:腳本之家 閱讀:305 作者:水中魚之1999 欄目:編程語言

本文實例講述了Java實現的矩陣乘法。分享給大家供大家參考,具體如下:

思路:

矩陣乘法的前提是:前一矩陣的行數 == 后一矩陣的列數(rows == cols)

在滿足前提的情況下:前一矩陣的第一行 與 第二個矩陣的第一列 逐個相乘。將乘積求和 作為 結果矩陣的第一個元素

類推刻得到:結果矩陣的 第 [row][col] 個元素 = 前一矩陣的第 row 行 與 后一矩陣的 col列上的元素 逐一相乘 后的乘積之和

代碼及解析:

一、算法剖析:

1.設置兩個for循環用來控制結果(輸出)矩陣的 待賦值元素位置 (即 matrix[i][j] )

2.在這兩個循環環中再嵌套上一個循環 這個循環起到關鍵作用 它用來控制 前一矩陣第 i 行元素的列數 以及 后一矩陣 第 j 列的行數

Java實現的矩陣乘法示例

二、算法代碼:

​/*
 * 計算兩個矩陣相乘的方法
 */
public Matrix mutiply(Matrix m){
    Matrix result = new Matrix(this.getRows(), m.getCols());
    for (int i = 0 ; i < this.getRows() ; i++ ){
        for(int j = 0 ; j < m.getCols() ; j++ ){//正好為矩陣大小,保證了每個元素都被賦值
            for (int num = 0 ; num < this.getCols() ; num++){
                result.setData(i, j, this.getData(i, num) * m.getData(num, j));
            }
        }
    }
    return result;
}

注:具體進行計算時,由于可能出現 前一矩陣行數 不等于 后一矩陣列數等異常情況

需要進行異常處理,這里為了保證算法過程的清晰性暫不加上,希望讀者在具體使用中及時添加。

源碼即測試范例:

public class MatrixTest {
    public static void main(String[] args) {
        //矩陣測試范例
        //僅為輸入參考 無實際作用
        double [][]array01 = {
                {1, 2, 3},
                {4, 5, 6}
        };
        double [][]array02 = {
                {1, 4},
                {2, 5},
                {3, 6}
        };
        double [][] resultMatrix = new double[array01.length][array02[0].length];
        for (int i = 0 ; i < resultMatrix.length ; i++ ){
            for(int j = 0 ; j < resultMatrix[0].length ; j++ ){//正好為矩陣大小,保證了每個元素都被賦值
                for (int num = 0 ; num < array02.length ; num++){
                        resultMatrix[i][j] = resultMatrix[i][j] + array01[i][num]*array02[num][j];
                }
            }
        }
        
        for (int i = 0 ; i < resultMatrix.length ; i++ ){
            for(int j = 0 ; j < resultMatrix[0].length ; j++ ){//正好為矩陣大小,保證了每個元素都被賦值
                System.err.print(resultMatrix[i][j] + "\t");
            }
            System.out.println();
        }
    }
}

輸出范例:

9.0   18.0
18.0   36.0

更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對大家java程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海口市| 古交市| 岳普湖县| 延安市| 拉萨市| 辽源市| 四平市| 蒙阴县| 本溪市| 秦皇岛市| 海兴县| 治多县| 衡阳市| 建平县| 南江县| 利津县| 祁东县| 富平县| 杂多县| 长泰县| 内乡县| 息烽县| 宝坻区| 石嘴山市| 博乐市| 香港| 陕西省| 庆元县| 丁青县| 栾川县| 金华市| 四平市| 镇康县| 东阿县| 寻甸| 通山县| 武强县| 左贡县| 勃利县| 潞西市| 读书|