ODE45  Solve non-stiff differential equations, medium order method.
    [TOUT,YOUT] = ODE45(ODEFUN,TSPAN,Y0) integrates the system of
    differential equations y' = f(t,y) from time TSPAN(1) to TSPAN(end)
    with initial conditions Y0. Each row in the solution array YOUT
    corresponds to a time in the column vector TOUT. 
      * ODEFUN is a function handle. For a scalar T and a vector Y,
        ODEFUN(T,Y) must return a column vector corresponding to f(t,y).
      * TSPAN is a two-element vector [T0 TFINAL] or a vector with
        several time points [T0 T1 ... TFINAL]. If you specify more than
        two time points, ODE45 returns interpolated solutions at the
        requested times.
      * YO is a column vector of initial conditions, one for each equation.
 
    [TOUT,YOUT] = ODE45(ODEFUN,TSPAN,Y0,OPTIONS) specifies integration
    option values in the fields of a structure, OPTIONS. Create the
    options structure with 
odeset.
 
    [TOUT,YOUT,TE,YE,IE] = ODE45(ODEFUN,TSPAN,Y0,OPTIONS) produces
    additional outputs for events. An event occurs when a specified function
    of T and Y is equal to zero. See 
ODE Event Location for details.
 
    SOL = ODE45(...) returns a solution structure instead of numeric
    vectors. Use SOL as an input to DEVAL to evaluate the solution at
    specific points. Use it as an input to ODEXTEND to extend the
    integration interval.
 
    ODE45 can solve problems M(t,y)*y' = f(t,y) with mass matrix M that is
    nonsingular. Use ODESET to set the 'Mass' property to a function handle
    or the value of the mass matrix. ODE15S and ODE23T can solve problems
    with singular mass matrices.
 
    ODE23, ODE45, ODE78, and ODE89 are all single-step solvers that use
    explicit Runge-Kutta formulas of different orders to estimate the error
    in each step.
      * ODE45 is for general use.
      * ODE23 is useful for moderately stiff problems.
      * ODE78 and ODE89 may be more efficient than ODE45 on non-stiff problems
        that are smooth except possibly for a few isolated discontinuities.
      * ODE89 may be more efficient than ODE78 on very smooth problems, when 
        integrating over long time intervals, or when tolerances are tight.
 
    Example
          [t,y]=ode45(@vdp1,[0 20],[2 0]);   
          plot(t,y(:,1));
      solves the system y' = vdp1(t,y), using the default relative error
      tolerance 1e-3 and the default absolute tolerance of 1e-6 for each
      component, and plots the first component of the solution. 
    
    Class support for inputs TSPAN, Y0, and the result of ODEFUN(T,Y):
      float: double, single
 
    See also ODE23, ODE78, ODE89, ODE113, ODE15S, ODE23S, ODE23T, ODE23TB,
             ODE15I, ODESET, ODEPLOT, ODEPHAS2, ODEPHAS3, ODEPRINT, DEVAL,
             ODEEXAMPLES, FUNCTION_HANDLE.
    Documentation for ode45
       doc ode45
    Other uses of ode45
       dlarray/ode45