[Java] 矩阵乘法运算 →→→→→进入此内容的聊天室

来自 , 2020-05-10, 写在 Java, 查看 103 次.
URL http://www.code666.cn/view/076a0c97
  1.          /**
  2.          * 矩阵乘法运算。 矩阵A和B可乘的条件是矩阵A的列数等于矩阵B的行数。
  3.          * 若A是一个p×q的矩阵,B是一个q×r的矩阵,则其乘积C=AB是一个p×r的矩阵 C[i][j] =
  4.          * ("A[i][k] * B[k][j]"的累加)
  5.          *
  6.          * @param b
  7.          *            乘数
  8.          * @return
  9.          */
  10.         public Matrix multiply(Matrix b) {
  11.                 if (b == null) {
  12.                         return null;
  13.                 }
  14.  
  15.                 Matrix c = null;
  16.                 double[][] bData = b.getMatrixData();
  17.                 if (this.matrixData[0].length != bData.length) {
  18.                         System.out.println("做乘法时矩阵a的列数要与b的行数相等!");
  19.                         return c;
  20.                 }
  21.                 // 结果矩阵的数据,结果矩阵的行数为a的行数,列数为b的列数
  22.                 int cRow = this.matrixData.length;
  23.                 int cColumn = bData[0].length;
  24.                 double[][] cData = new double[cRow][cColumn];
  25.                 for (int i = 0; i < cRow; i++) {
  26.                         for (int j = 0; j < cColumn; j++) {
  27.                                 cData[i][j] = 0;
  28.                                 for (int k = 0; k < this.matrixData[0].length; k++) {
  29.                                         cData[i][j] += this.matrixData[i][k] * bData[k][j];
  30.                                 }
  31.                         }
  32.                 }
  33.                 c = new Matrix(cData);
  34.                 return c;
  35.         }
  36.  

回复 "矩阵乘法运算"

这儿你可以回复上面这条便签

captcha