我有以下程序:
open System
open MathNet.Numerics
open MathNet.Numerics.LinearAlgebra
//entropy
let entropy v =
let pct = v / v.Sum()
let l1 = pct.Map (fun x -> System.Math.Log(x, 2.0))
let p = Vector.map2 (fun x y -> x * y) pct l1
let e = - p.Sum()
e
[<EntryPoint>]
let main argv =
let v1 = vector [ 1.0 ; 3.0 ; 5.0 ]
let e1 = entropy v1
0 // return an integer exit code
我需要为熵函数中的变量 v 提供类型注释。如您所见,我传递给函数 (v1) 的参数定义为 MathNet.Numerics.LinearAlgebra.vector。我已经尝试了很多类型注释的选项,但都没有成功。
应该是什么?如果您能帮助我了解您是如何得出答案的,则可以加分。