Julia 中的 3D 网格数据插值

Gab*_*ves 7 python matlab interpolation mesh julia

我正在努力将一些 MATLAB 代码转换为 Julia。我有一些 3D 网格数据(温度随时间和二维变化)并且想要从 (x,y,t) 网格更改为更松散的 (xi,yi,ti) 网格。在 MATLAB 中,这将是一个简单的interp(x,y,t,T,xi,yi,ti).

我尝试使用Interpolations, Dierckx,但两者似乎都只适用于二维网格数据。我有什么问题吗?我对 Julia 编程很陌生...

我已经在考虑通过PyCall一些NumPy/SciPy功能解决问题的可能性。

谢谢!

Nil*_*dat 8

What led you to believe that Interpolations.jl works only for two-dimensional data?

julia> a = rand(1:100, 10, 10, 10);

julia> using Interpolations

julia> itp = interpolate(a, BSpline(Linear()));

julia> v = itp(1.4, 2.3, 3.7)
55.24
Run Code Online (Sandbox Code Playgroud)

  • 只需将向量传递给 `itp()` 调用即可在许多位置对其进行评估:`itp(1.5:9.5, 1.2:9.2, 2:2:10)` 或类似的位置。 (2认同)