C#中矩阵乘法演示代码
static double[][] MatrixMultiplication(double[][] matrixOne, double[][] matrixTwo)
{
int aRows = matrixOne.Length; int aCols = matrixOne[0].Length;
int bRows = matrixTwo.Length; int bCols = matrixTwo[0].Length;
if (aCols != bRows)
throw new Exception("Out of shape matrices");
double[][] result = CreateMatrix(aRows, bCols);
for (int i = 0; i < aRows; ++i) // each row of MatrixOne
for (int j = 0; j < bCols; ++j) // each col of MatrixTwo
for (int k = 0; k < aCols; ++k)
result[i][j] += matrixOne[i][k] * matrixTwo[k][j];
return result;
}
static double[][] CreateMatrix(int rows, int cols)
{
double[][] result = new double[rows][];
for (int i = 0; i < rows; ++i)
result[i] = new double[cols];
return result;
}
