如何在Interpolations.jl中使用scale()?

时间:2016-10-14 14:06:49

标签: julia interpolation

我对在规则间隔数据上线性插入1D函数的最快方法感兴趣。 我不太明白如何使用scale中的Interpolations.jl函数:

using Interpolations
v = [x^2 for x in 0:0.1:1]
itp=interpolate(v,BSpline(Linear()),OnGrid())
itp[1]
# 0.0
itp[11]
# 1.0
scale(itp,0:0.1:1)
itp[0]
# -0.010000000000000002
# why is this not equal to 0.0, i.e.  the value at the lowest index?

1 个答案:

答案 0 :(得分:1)

该函数不会改变对象,就像scale!一样。

julia> sitp = scale(itp,0:0.1:1)
11-element Interpolations.ScaledInterpolation{Float64,1,Interpolations.BSplineInterpolation{Float64,1,Array{Float64,1},Interpolations.BSpline{Interpolations.Linear},Interpolations.OnGrid,0},Interpolations.BSpline{Interpolations.Linear},Interpolations.OnGrid,Tuple{FloatRange{Float64}}}:


julia> sitp[0]
0.0

感谢spencerlyon指出这一点。