/** * 矩阵减法运算。 矩阵A和B可减的条件是矩阵A的行数等于矩阵B的行数,A的列数等于B的列数 c[i][j] = a[i][j] + b[i][j] * * @param b * 减数 * @return */ public Matrix sub(Matrix b) { if (b == null) { return null; } Matrix c = null; double[][] bData = b.getMatrixData(); if ((this.matrixData.length != bData.length) || (this.matrixData[0].length != bData[0].length)) { System.out.println("两个矩阵的大小不一致,不能完成减法运算"); return c; } // 结果矩阵的数据 int cRow = this.matrixData.length; int cColumn = this.matrixData[0].length; double[][] cData = new double[cRow][cColumn]; for (int i = 0; i < cRow; i++) { for (int j = 0; j < cColumn; j++) { // 两矩阵对应位置的数字做减法 cData[i][j] = this.matrixData[i][j] - bData[i][j]; } } c = new Matrix(cData); return c; }