代码之家  ›  专栏  ›  技术社区  ›  Georg W. RRUZ

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

  •  0
  • Georg W. RRUZ  · 技术社区  · 6 年前

    我试图从二维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来解决这个问题?

    谢谢你的提示!

    1 回复  |  直到 6 年前
        1
  •  1
  •   Christoph Rüegg    6 年前

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

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