在这个问题中,我询问了如何使用 PowerPack 执行类似的操作。我决定改用 MathNet,因为它通常是为 .Net 而设计的,而不仅仅是 F#。
我需要一个接受 2 个矩阵并输出一致性百分比的函数。矩阵中的值都是 1.0 或 -1.0。显然不支持 Matrix(int) 类型的矩阵。
我想出了一个完成此任务的函数,但我怀疑有更直接的方法可以做到这一点,最好使用 Matrix 类的功能。
这就是我所拥有的:
let percentageTheSame (a:Matrix<float>) (b:Matrix<float>) =
let seqA = a |> Matrix.toSeq
let seqB = b |> Matrix.toSeq
let sames = Seq.map2 (fun a b -> (a,b)) seqA seqB |> Seq.filter (fun (a, b) -> a = b)
float(sames.Count())/float(seqA.Count())