我试图从二维uint数组中创建mathdotnet中的densematrix。
uint[10,10] = myarray; Matrix<ushort> newarray = Matrix<ushort>.Build.DenseOfArray(myarray);
mathdotnet抱怨这个beeing还没有实现。只实现浮点型矩阵。我想做的是:
uint[10,10] = myarray; Matrix<double> newarray = Matrix<double>.Build.DenseOfArray(myarray);
但这失败了,因为myarray的类型不同于矩阵。 有没有办法隐式地将uint数组转换为double来解决这个问题?
谢谢你的提示!
我认为在这种情况下,强制转换不起作用,但有一种机制可以从任意可转位源构造矩阵:
Matrix<double> newarray = Matrix<double>.Build.Dense( myarray.GetLength(0), myarray.GetLength(1), (i,j) => myarray[i,j]);