Я интерполирования над 2d матрица J
:джулия - Interpolations.jl броски «ОШИБКА: InexactError()» для вектора, а не точки
J_itp = interpolate(J, (BSpline(Linear()), NoInterp()), OnGrid())
Как вы видите, я интерполирующую только вдоль первый размер. Второе измерение требуется для работы в сетке. У меня есть вектор точек, которые я хотел бы интерполировать.
julia> Np_args[1,67:73]
1x7 Array{Float64,2}:
1.0 1.0 1.0 1.0 1.01394 1.03275 1.0517
Я называю функция интерполяции следующим образом:
J_itp[ Np_args[1,67:73], 1]
и получить следующее сообщение об ошибке
ERROR: InexactError()
in trunc at /Applications/Julia- 0.4.3.app/Contents/Resources/julia/lib/julia/sys.dylib
[inlined code] from /Users/btengels/.julia/v0.4/Interpolations/src/b-splines/linear.jl:6
in getindex at /Users/btengels/.julia/v0.4/Interpolations/src/b-splines/indexing.jl:39
Я могу, однако, интерполировать используя нижнюю половину моих входов, где равны один. Таким образом, это не может быть проблемой типа (насколько я понимаю).
julia> J_itp[ Np_args[1,67:70], 1]
4-element Array{Float64,1}:
0.75366
0.75366
0.75366
0.75366
Случаи аварии, когда я включаю любую из точек больше 1,0, как в первом примере. Тем не менее, я могу интерполировать одну из этих проблем.
julia> J_itp[ Np_args[1,71], 1]
0.753702904230203
Но если в массиве как в J_itp[ Np_args[1,71]*ones(3,1), 1]
, то крах, как и раньше.
Является ли это ошибкой или я делаю что-то неправильно? Недавно установлена с Pkg.add("Interpolations")
, OSX - yosemite. Julia версия 0.4.3
Спасибо @tholy, это полезно. Но теперь мне любопытно узнать, как работает пример на странице gitub Interpolations ('fine = itp [linspace (1,10,1001), linspace (1,15,201)] '). Есть ли причина, по которой я могу интерполировать нецелые векторы в примере github, а не в примере, который вы здесь указываете? – benten
Можете ли вы открыть вопрос в Interpolations? – tholy
Для будущих зрителей проблема здесь: https://github.com/tlycken/Interpolations.jl/issues/106 – benten