矩阵相乘算法

 1         /// <summary>
 2         /// 矩阵乘法
 3         /// </summary>
 4         /// <param name="A">矩阵A</param>
 5         /// <param name="B">矩阵B</param>
 6         /// <returns>返回矩阵C</returns>
 7         public double[,] multiply(double[,] A, double[,] B)
 8         {
 9             int Arow, Acolumn, Brow, Bcolumn;//分别为A、B矩阵的行数、列数
10             Arow = A.GetLength(0);//GetLength(0)为获取A矩阵的行数
11             Acolumn = A.GetLength(1);//GetLength(1)为获取B矩阵的列数
12             Brow = B.GetLength(0);
13             Bcolumn = B.GetLength(1);
14             double[,] C = new double[Arow, Bcolumn];//相乘后的矩阵 将A的行数做为行数、将B的列数作为列数
15             for (int i = 0; i < Arow; i++)//行数
16             {
17                 for (int j = 0; j < Bcolumn; j++)//列数
18                 {
19                     for (int k = 0; k < Acolumn; k++)
20                     {
21                         C[i, j] += A[i, k] * B[k, j];//计算A的列数个数的乘积的和
22                     }
23                 }
24             }
25             return C;
26         }
View Code

 

posted @ 2021-10-21 14:18  GIS开发训练营  阅读(42)  评论(0)    收藏  举报