/** |
* 矩阵减法运算。 矩阵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; |
} |