如何从uint [,]数组创建密集矩阵

时间:2018-07-13 13:45:59

标签: mathdotnet

我正在尝试通过二维二维uint数组在MathDotNet中创建DenseMatrix。

uint[10,10] = myarray;
Matrix<ushort> newarray = Matrix<ushort>.Build.DenseOfArray(myarray);

Mathdotnet抱怨这种蜜蜂尚未实现。仅实现浮点型矩阵。我想做的是这样:

uint[10,10] = myarray;
Matrix<double> newarray = Matrix<double>.Build.DenseOfArray(myarray);

但是这失败了,因为myarray与Matrix的类型不同。 有没有一种方法可以将我的uint数组隐式转换为double来解决此问题?

感谢任何提示!

1 个答案:

答案 0 :(得分:1)

我认为强制转换在这种情况下不起作用,但是有一种机制可以从任意可索引的源构造矩阵:

Matrix<double> newarray = Matrix<double>.Build.Dense(
    myarray.GetLength(0), myarray.GetLength(1), (i,j) => myarray[i,j]);