如何解决使用 ILNumerics F# 进行克里金近似
我需要估计一个从离散散点数据中已知的多元函数。 为此,我正在使用 ilnumerics 插值工具箱。
let inline (!) (x :RetArray<'T>) = Array<'T>.op_Implicit(x)
let inline (!!) (x:Array<'T> ) = InArray<'T>.op_Implicit(x)
let inline (!!!) (x:float[]) :InArray<float> = x
|> InArray.op_Implicit
let inline (!~) (x:float[]) : Array<float> = x
|> Array.op_Implicit
let X3 :OutArray<float>= null
let V (x:'T[]) :Array<'T> = (ILMath.vector<'T> x) |> Array.op_Implicit
let X1':Array<float> = (linspace<float>((!!!)[|-3.0|],(!!!) [|3.0|],(!!!)[|20.0|]))
|> (Seq.toArray >> V )
let Y:Array<float> = sin(X1')|> (Seq.toArray >> V)
let result = kriging( (!!)Y,(!!) X1',null,X3) |> (Seq.toArray >> V)
我收到以下错误:
System.ArgumentException: V must be a non-empty matrix of size [k x n],where n = X.S[1]
我怀疑内部代码试图评估 X.S[1],但在 F# 中失败了,因为它需要 X.S.[1];我可能完全错了,但我想知道该库是否也可以从 F# 中使用,或者即使尝试也毫无意义。
我也尝试过使用 KrigingInterpolator 类,但遇到了类似的错误。
附带说明:您知道有哪些可靠的库可以使用 F# 对分散数据执行多变量插值吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。