一、矩阵在代码中的表现形式可以由一个二维数组进行表示
double[,]input = new double[9, 3]; //一个九行三列的二维数组
for (int i = 0; i < 9; i++)//从表格中获取矩阵数据
{
input[i, 0] = double.Parse(dataGridView1.Rows[i].Cells[2].Value.ToString());
input[i, 1] = double.Parse(dataGridView1.Rows[i].Cells[3].Value.ToString());
input[i, 2] = 1;
}
二、一个矩阵的转置相当于将矩阵中横纵坐标进行调换
例如:将[ 1 , 3 ]位置的的数据与[ 3 , 1 ]位置的数据进行调换,效果如下
三、因此可根据这种思路将代码中的数组(矩阵)进行转置
public static double[,] MatrixT(double[,] input)
{
int x = input.GetLength(0);
int y = input.GetLength(1);
double[,] inputT = new double[y, x];
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
inputT[j, i] = input[i, j];
}
}
return inputT;
}
结果:得到的 inputT[3,9] 数组(矩阵)即为 input[9,3] 数组(矩阵)的转置