In python I have used the
ode method from
scipy.integrate. There I used the
vodeintegrator and the
zvode integrator to solve some numerical odes. I am happy with the solution provided by these methods and would now like to know what the equivalent methods are in matlab.
Im not familiar with the intricacies of odes (stiffness and which solvers are suitable in each case) I simply want to know if there is an equivalent matlab routine to the above two integrator methods which I can readily use.
Here is an example of how I have defined a function which should march forward in time
def time_march2(y0, x1_max): y0 = np.asarray(y0) t0 = 0 tlimit = 100.0 backend = 'vode' solver = ode(f2).set_integrator(backend, nsteps=1) solver.set_initial_value(y0, t0) # suppress Fortran-printed warning solver._integrator.iwork = -1 solution_y = [y0] solution_t = [t0] warnings.filterwarnings("ignore", category=UserWarning) while solver.successful() and solver.y < x1_max and solver.t < tlimit: solver.integrate(tlimit, step=True) solution_y.append(solver.y) solution_t.append(solver.t) warnings.resetwarnings() solution_y = np.array(solution_y) solution_t = np.array(solution_t) return solution_t, solution_y