In [40]:
function my_lin_interp(grid, vals)
function func(x)
i = searchsortedlast(grid,x)
if i == 0 || i == length(grid)
return 0
end
interpolated_value = (x - grid[i])*(vals[i+1]-vals[i])/(grid[i+1]-grid[i])+vals[i]
return interpolated_value
end
return func
end
Out[40]:
In [61]:
grid = [0, 2, 4, 6, 8, 10]
vals = [1, 4, 5, 8, 9, 11]
f = my_lin_interp(grid,vals)
Out[61]:
In [64]:
f(3.5)
Out[64]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]: