Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
ode_root
ordinary differential equation solver with root finding
Calling Sequence
[y, rd, w, iw] = ode("root", y0, t0, t [,rtol [,atol]], f [,jac], ng, g [,w,iw])
Arguments
- y0
 a real vector or matrix (initial conditions).
- t0
 a real scalar (initial time).
- t
 a real vector (times at which the solution is computed).
- f
 an external i.e. function or character string or list.
- rtol, atol
 a real constants or real vectors of the same size as
y.- jac
 an external i.e. function or character string or list.
- w, iw
 a real vectors. (INPUT/OUTPUT)
- ng
 an integer.
- g
 an external i.e. function or character string or list.
- y
 a real vector or matrix. (OUTPUT)
- rd
 a real vector. (OUTPUT)
Description
With this syntax (first argument equal to "root")
            ode computes the solution of the differential equation
            dy/dt=f(t,y) until the state y(t)
            crosses the surface g(t,y)=0.
g should give the equation of the surface. It is
            an external i.e. a function with specified syntax, or the name of a
            Fortran subroutine or a C function (character string) with specified
            calling sequence or a list.
If g is a function the syntax should be as
            follows:
z = g(t,y)
where t is a real scalar (time) and
            y a real vector (state). It returns a vector of size
            ng which corresponds to the ng
            constraints. If g is a character string it refers to
            the name of a Fortran subroutine or a C function, with the following
            calling sequence: g(n,t,y,ng,gout) where
            ng is the number of constraints and
            gout is the value of g (output of
            the program). If g is a list the same conventions as
            for f apply (see ode help).
Ouput rd is a 1 x k vector.
            The first entry contains the stopping time. Other entries indicate which
            components of g have changed sign. k
            larger than 2 indicates that more than one surface
            ((k-1) surfaces) have been simultaneously
            traversed.
Other arguments and other options are the same as for
            ode, see the ode help.
Examples
See Also
| Report an issue | ||
| << ode_optional_output | Differential calculus, Integration | odedc >> |