For a complete overview of the different solvers, please visit the following link where all the available builtin solvers and their properties are described in detail.

One of the most important part to get a DAE system to work is to feed it a set of

**consistent initial conditions.**Matlab provides also a tool able to support the user in this process (the function is called

*decic*) but here I would like to explain a more DIY method.

Let's suppose to have your DAE system composed of N differential equations and M algebraic equations. To find a suitable set of initial conditions you could just define the initial value or guess for the differential states and use those guesses to solve the only set of M algebraic equations.

To do this you can easily use the

*fsolve*Matlab's function. This script will try to find the root of a set of equations; Once you get the result from the

*fsolve*you can just use it, with the guess of the differential states, to build the array of consistent initial conditions for the ODE solver.

Please note that in order to be considered consistent, the result coming from the

*fsolve*should have a low residual from its run.