C#实现矩阵求转置

一、矩阵在代码中的表现形式可以由一个二维数组进行表示

        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;
            }

C#实现矩阵求转置_第1张图片


二、一个矩阵的转置相当于将矩阵中横纵坐标进行调换
例如:将[ 1 , 3 ]位置的的数据与[ 3 , 1 ]位置的数据进行调换,效果如下


C#实现矩阵求转置_第2张图片


三、因此可根据这种思路将代码中的数组(矩阵)进行转置

        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] 数组(矩阵)的转置

你可能感兴趣的:(九点标定的矩阵运算,线性代数)