Мне интересно, как экспортировать функцию MATLAB ode45 в python. По документации должно быть так:
MATLAB: [t,y]=ode45(@vdp1,[0 20],[2 0]);
Python: import numpy as np
def vdp1(t,y):
dydt= np.array([y[1], (1-y[0]**2)*y[1]-y[0]])
return dydt
import scipy integrate
l=scipy.integrate.ode(vdp1([0,20],[2,0])).set_integrator("dopri5")
Результаты совершенно разные, Matlab возвращает другие измерения, чем Python.
vdp1([0,20],[2,0])
— это массив, результат передачи двух списков в вашу функцию.ode
ожидает функцию, такую какvdp1
. В MATLAB вы передаете@vdp1
, а неvdpt1([0 20],[2 0])
в `ode45. - person hpaulj   schedule 24.01.2018