Introduction

MatlODE contains codes in Matlab for the integration of ordinary differential equations. It implements three families of integrators - fully implicit Runge-Kutta (FIRK), singly diagonally implicit Runge-Kutta (SDIRK), and Rosenbrock methods. These methods are useful for solving stiff problems. Each family contains several methods with different orders of accuracy; users can add new methods by simply providing their coefficients.

Features

  1. Time stepping methods with good stability properties for stiff problems (FIRK, SDIRK and ROS stand for Fully Implicit Runge-Kutta, Singly Diagonally Implicit Runge-Kutta and Rosenbrock, respectively.)
  2. Provide controls over step size, order of accuracy, termination criteria for Newton iterations and so on.

Usage

All MatlODE integrators use the same interface as Matlab's native integrators. They require both the ODE function and its Jacobian. For example, let "func.m" contain your implementation of the ODE function, wich takes t and y as inputs and returns the time derivatives of y. The file "jac.m" contains your implementation of the Jacobian function, which takes t and y as input and returns the Jacobian matrix.
The following set of commands invokes the SDIRK time integrator:
rc=zeros(20,1);
ic=zeros(20,1);
options=odeset('AbsTol',1e-06, 'RelTol', 1e-06, 'Jacobian', @Jac);
[T,Y,RCNTRL,ICNTRL,RSTATUS,ISTATUS]=SdirkInt(@Func, Tspan,Y0,options, rc, ic);
More details can be obtained by typing in "help SdirkInt"

Comments