import numpy as np
from scipy.integrate import odeint
from scipy.interpolate import interp1d
t = np.linspace(0, 4, 5)
print t
data = [1, 2, 3, 4, 5]
linear_interpolation = interp1d(t, data)
def func(y, t0):
print 't0', t0
return -2*y + linear_interpolation(t0)
soln = odeint(func, 1, t[:-1])
print odeint(func, 1, [3,])
[ 0. 1. 2. 3. 4.] t0 0.0 t0 0.000109183148883 t0 0.000109183148883 t0 0.000218366297766 t0 0.000218366297766 t0 0.00300900612159 t0 0.00300900612159 t0 0.00579964594542 t0 0.00579964594542 t0 0.00859028576925 t0 0.00859028576925 t0 0.0197692611633 t0 0.0197692611633 t0 0.0171924756543 t0 0.0171924756543 t0 0.0257946655393 t0 0.0257946655393 t0 0.0343968554243 t0 0.0343968554243 t0 0.0429990453094 t0 0.0429990453094 t0 0.0602034250794 t0 0.0602034250794 t0 0.0774078048495 t0 0.0774078048495 t0 0.0946121846195 t0 0.0946121846195 t0 0.11181656439 t0 0.11181656439 t0 0.12902094416 t0 0.12902094416 t0 0.183018039318 t0 0.183018039318 t0 0.237015134475 t0 0.237015134475 t0 0.291012229633 t0 0.291012229633 t0 0.27621570766 t0 0.27621570766 t0 0.315416280845 t0 0.315416280845 t0 0.35461685403 t0 0.35461685403 t0 0.393817427215 t0 0.393817427215 t0 0.4330180004 t0 0.4330180004 t0 0.472218573585 t0 0.472218573585 t0 0.534011749833 t0 0.534011749833 t0 0.595804926081 t0 0.595804926081 t0 0.657598102329 t0 0.657598102329 t0 0.719391278578 t0 0.719391278578 t0 0.781184454826 t0 0.781184454826 t0 0.842977631074 t0 0.842977631074 t0 0.904770807322 t0 0.904770807322 t0 0.988771686509 t0 0.988771686509 t0 1.0727725657 t0 1.0727725657 t0 1.15677344488 t0 1.15677344488 t0 1.24077432407 t0 1.24077432407 t0 1.32477520326 t0 1.32477520326 t0 1.40877608244 t0 1.40877608244 t0 1.49277696163 t0 1.49277696163 t0 1.59277696157 t0 1.59277696157 t0 1.69277696151 t0 1.69277696151 t0 1.79277696144 t0 1.79277696144 t0 1.89277696138 t0 1.89277696138 t0 1.99277696132 t0 1.99277696132 t0 2.09277696126 t0 2.09277696126 t0 2.1927769612 t0 2.1927769612 t0 2.29277696113 t0 2.29277696113 t0 2.40471541324 t0 2.40471541324 t0 2.51665386534 t0 2.51665386534 t0 2.62859231744 t0 2.62859231744 t0 2.74053076954 t0 2.74053076954 t0 2.85246922165 t0 2.85246922165 t0 2.96440767375 t0 2.96440767375 t0 3.07634612585 t0 3.07634612585 [[ 1.]]
interp1d??
odeint??
soln
array([[ 1. ], [ 0.85150146], [ 1.26373673], [ 1.75185906]])