F#:如何打印矩阵?

F#: How to print a matrix?

我正在使用 Math.Net 并尝试创建一个具有随机高斯分布的矩阵。然后我尝试打印矩阵但不能:

Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized

我做错了什么?看看 examples 更容易误导我。

  printfn "%s" (DenseMatrix.random<float> 1000 50 (Normal(1.0, 100.0))).ToString()

当错误消息显示 "arguments involving function or method applications should be parenthesized" 时,这意味着:

printfn "%s" foo.ToString()

需要写成:

printfn "%s" (foo.ToString())

因此,在您的 DenseMatrix 值周围放置一组额外的括号,它应该可以工作:

printfn "%s" ((DenseMatrix.random<float> 1000 50 (Normal(1.0, 100.0))).ToString())

选择这种语言设计的原因涉及高级主题,例如 currying,您现在可能不关心这些主题,所以我将省去冗长的解释。