有效地将矩阵值复制到新矩阵

时间:2010-12-18 08:17:19

标签: c# matrix

是否有一种有效的内置方法可以将值从一个矩阵(例如double[,])复制到另一个矩阵?

换句话说,我正在寻找以下功能的替代品:

    public static double[,]CloneMatrix(double[,] aMatrix)
    {
        var newMatrix = new double[aMatrix.GetLength(0),aMatrix.GetLength(1)];
        for (int i = 0; i < aMatrix.GetLength(0); i++)
        {
            for (int j = 0; j < aMatrix.GetLength(1); j++)
            {
                newMatrix[i, j] = aMatrix[i, j];
            }
        }
        return newMatrix;

    }

2 个答案:

答案 0 :(得分:5)

使用克隆方法:

double[,] result = (double[,])aMatrix.Clone();

答案 1 :(得分:0)

多维数组本身比向量慢(我们称之为“单维”数组,实际上与向量略有不同),因为它们的实现方式(具有不同的边界检查和访问规则)。因此,作为旁注,如果效率问题,您可能需要考虑在某些情况下使用double[][]