MATLAB Function Reference |

Compute consistent initial conditions for `ode15i`

**Syntax**

[y0mod,yp0mod] = decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0) [y0mod,yp0mod] = decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0,options) [y0mod,yp0mod,resnrm] = decic(...)

**Description**

```
[y0mod,yp0mod] = decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0)
```

uses the inputs `y0`

and `yp0`

as initial guesses for an iteration to find output values that satisfy the requirement , i.e., `y0mod`

and `yp0mod`

are consistent initial conditions. `odefun`

is a function handle. See Function Handles in the MATLAB Programming documentation for more information. The function `decic`

changes as few components of the guesses as possible. You can specify that `decic`

holds certain components fixed by setting `fixed_y0(i) = 1`

if no change is permitted in the guess for `y0(i)`

and 0 otherwise. `decic`

interprets `fixed_y0 = []`

as allowing changes in all entries. `fixed_yp0`

is handled similarly.

Parameterizing Functions Called by Function Functions, in the MATLAB mathematics documentation, explains how to provide additional parameters to the function `odefun`

, if necessary.

You cannot fix more than `length(y0)`

components. Depending on the problem, it may not be possible to fix this many. It also may not be possible to fix certain components of `y0`

or `yp0`

. It is recommended that you fix no more components than necessary.

```
[y0mod,yp0mod] =
decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0,options)
```

computes as above with default tolerances for consistent initial conditions, `AbsTol`

and `RelTol`

, replaced by the values in options, a structure you create with the `odeset`

function.

```
[y0mod,yp0mod,resnrm] =
decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0...)
```

returns the norm of `odefun(t0,y0mod,yp0mod)`

as `resnrm`

. If the norm seems unduly large, use `options`

to decrease `RelTol`

(`1e-3`

by default).

**Examples**

These demos provide examples of the use of `decic`

in solving implicit ODEs: `ihb1dae`

, `iburgersode`

.

**See Also**

`ode15i`

, `odeget`

, `odeset`

, `function_handle`

(`@`

)

dec2hex | deconv |

© 1994-2005 The MathWorks, Inc.