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]:
my_lin_interp (generic function with 1 method)

In [61]:
grid = [0, 2, 4, 6, 8, 10]
vals = [1, 4, 5, 8, 9, 11]
f = my_lin_interp(grid,vals)


Out[61]:
func (generic function with 1 method)

In [64]:
f(3.5)


Out[64]:
4.75

In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]: