二維數據練習--矩陣的加法和乘法
阿新 • • 發佈:2017-12-21
問題 矩陣的乘法 mage 嘗試 auth out 轉置 args lis
數組的練習示例展示:
package arrayList; /** * 矩陣的集中運算法則:求和,求積,求逆矩陣,轉置矩陣...... * @author Drew * */ public class Arrays { /** * 兩個二維數組(矩陣)求和。 * @param a 矩陣(二維數組) * @param b 矩陣(二維數組) * @return 返回一個矩陣(二維數組) */ public static int[][] add(int [][] a,int [][] b) { int [][] c = newint[a.length][b.length]; for(int i = 0; i<c.length; i++) { for(int j = 0; j < c.length; j++) { c[i][j] = a[i][j] + b[i][j]; } } return c; } /** * 直接打印出每個矩陣的值 * @param arr */ public static void print(int [][] arr) {for(int i = 0; i < arr.length; i++) { for(int j = 0; j < arr.length; j++) { System.out.print(arr[i][j] + " ");//輸出每一個數組中的值 } System.out.println();//將數組按行輸出。 } } /** * 矩陣的乘法 * @param a 矩陣(二維數組) * @param b 矩陣(二維數組) *@return 返回一個矩陣(二維數組) */ public static int[][] multiplication(int [][] a,int [][] b) {//矩陣的乘法運算法則有問題。見Matrix.java的具體案例。 int[][] c = new int[a.length][b.length]; for(int i = 0; i<c.length; i++) { for(int j = 0; j < c.length; j++) { c[i][j] = a[i][j]*b[i][j]; } } return c; } /** * 主函數方法,用於測試矩陣的運算法則。 * @param args */ public static void main(String[] args) { int [][] a = {{1,2}, {3,4}}; int [][] b = {{10,20}, {30,40}}; System.out.println("--------矩陣a"); print(a); System.out.println("--------矩陣b"); print(b); System.out.println("============數組的基本運算法則:=============="); System.out.println("--------矩陣加法----------"); int [][] c = add(a, b); print(c); System.out.println("--------矩陣乘法----------"); int [][] d = multiplication(a, b); print(d); /*int [][] c = new int[2][2];//二階矩陣(Matrix) for(int i = 0; i<c.length; i++) { for(int j = 0; j < c.length; j++) { c[i][j] = a[i][j] + b[i][j]; System.out.print(c[i][j] + " "); } }*/ //多維數組很少見 /*int [][][][] b = new int [1][2][2][1]; b[0][0][0][0] = 34; b[0][0][1][0] = 45; for(int i = 0; i<b.length; i++) { for(int j = 0; j < b.length; j++) { for(int c = 0; c < b.length; c++) { for(int f = 0; f < b.length; f++) { System.out.println(b[i][j][c][f] + " "); } } } }*/ } }
結果展示:
這是一個小小的二維數組實例展示!你可以自己嘗試著去完成矩陣的轉置和求逆矩陣。
二維數據練習--矩陣的加法和乘法