- 矩阵相加的前提是相加的两个矩阵行数与列数必须相等,而相加后的行数与列数也相同。形式如:Amn+Bmn=Cmn。
代码实现:
public static void matrix_add(int[][] arrA,int[][] arrB,int[][] arrC,int dimX,int dimY){
int row,col;
if(dimX<0 || dimY<0){
System.out.println("矩阵维数必须大于0!");
}
for(row=1;row<=dimX;row++){
for(col=1;col<=dimY;col++){
arrC[(row-1)][(col-1)] = arrA[(row-1)][(col-1)]+arrB[(row-1)][(col-1)];
}
}
}
测试类:
public static void main(String[] args) {
int i;
int j;
final int ROWS = 3;
final int COLS = 3;
int[][] A = {{1, 3, 5},{7,9,11},{13,15,17}};
int[][] B = {{9,8,7},{6,5,4},{3,2,1}};
int[][] C = new int[ROWS][COLS];
System.out.println("[矩阵A的各个元素]");
for(i=0;i<3;i++){
for(j=0;j<3;j++){
System.out.print(A[i][j]+"\t");
}
System.out.println();
}
System.out.println("[矩阵B中的各个元素]");
for(i=0;i<3;i++) {
for (j = 0; j < 3; j++) {
System.out.print(B[i][j] + "\t");
}
System.out.println();
}
matrix_add(A,B,C,3,3);
System.out.println("[显示矩阵A和矩阵B相加的结果]");
for(i=0;i<3;i++){
for(j=0;j<3;j++){
System.out.print(C[i][j]+"\t");
}
System.out.println();
}
}
运行结果: