在给定二维数组的情况下在 MathDotNet 中创建矩阵
Creating a Matrix in MathDotNet given a 2D array
我从 this site as a download from here 获得了以下代码。压缩文件解压后的完整路径类似于 E:\Csharp2Dand3DTestbed\GraphicsBook\LA\LA\MatrixTransform2.cs
protected static double[,] MatrixInverse(double[,] mat)
{
Matrix m = new Matrix(mat);
Matrix k = m.Inverse();
return k;
}
但是那不编译。我从 here 看到我需要做类似
的事情
protected static double[,] MatrixInverse(double[,] mat)
{
Matrix<double> m = Matrix<double>.Build.WhatHere(???)(3, 4); // How with existing matrix
Matrix k = m.Inverse();
return k;
}
有人可以指导我吗?我无法更进一步。我使用的是最新版本的 Math.NET Numerics
从double[,]
到矩阵(两个选项):
var matrix = Matrix<double>.Build.DenseOfArray(array);
var matrix = CreateMatrix.DenseOfArray(array);
从矩阵到double[,]
:
var array = matrix.ToArray();
请注意,这些涉及完整副本,因为矩阵在内部不使用二维数组。 documentation.
中有更多关于此的示例
我从 this site as a download from here 获得了以下代码。压缩文件解压后的完整路径类似于 E:\Csharp2Dand3DTestbed\GraphicsBook\LA\LA\MatrixTransform2.cs
protected static double[,] MatrixInverse(double[,] mat)
{
Matrix m = new Matrix(mat);
Matrix k = m.Inverse();
return k;
}
但是那不编译。我从 here 看到我需要做类似
的事情protected static double[,] MatrixInverse(double[,] mat)
{
Matrix<double> m = Matrix<double>.Build.WhatHere(???)(3, 4); // How with existing matrix
Matrix k = m.Inverse();
return k;
}
有人可以指导我吗?我无法更进一步。我使用的是最新版本的 Math.NET Numerics
从double[,]
到矩阵(两个选项):
var matrix = Matrix<double>.Build.DenseOfArray(array);
var matrix = CreateMatrix.DenseOfArray(array);
从矩阵到double[,]
:
var array = matrix.ToArray();
请注意,这些涉及完整副本,因为矩阵在内部不使用二维数组。 documentation.
中有更多关于此的示例