Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.
impl
differential algebraic equation
Calling Sequence
y=impl([type],y0,ydot0,t0,t [,atol, [rtol]],res,adda [,jac])
Arguments
- y0, ydot0
- real vectors or matrices (initial conditions) 
- t0
- a real scalar (initial time) 
- t
- a real vector (times at which the solution is computed) 
- res, adda
- externals (function or character string or list) 
- type
- string - 'adams'or- 'stiff'
- atol, rtol
- real scalars or real vectors of the same size as - y
- jac
- external (function or character string or list). 
Description
Solution of the linear implicit differential equation
A(t,y) dy/dt=g(t,y), y(t0)=y0
t0 is the initial instant, y0
            is the vector of initial conditions. Vector ydot0 of the
            time derivative of y at t0 must also
            be given. The input res is an external i.e. a
            function with specified syntax, or the name a Fortran subroutine or a C
            function (character string) with specified calling sequence or a
            list.
If res is a function, its syntax must be as
            follows:
r = res(t,y,ydot)
where t is a real scalar (time) and
            y and ydot are real vector (state
            and derivative of the state). This function must return
            r=g(t,y)-A(t,y)*ydot.
If res is a character string, it refers to the
            name of a Fortran subroutine or a C function. See
            SCI/modules/differential_equations/sci_gateway/fortran/Ex-impl.f for an example to do
            that.
res can also be a list: see the help of ode.
The input adda is also an external.
If adda is a function, its syntax must be as
            follows:
r = adda(t,y,p)
and it must return r=A(t,y)+p where
            p is a matrix to be added to
            A(t,y).
If adda is a character string, it refers to the
            name of a Fortran subroutine or a C function. See
            SCI/modules/differential_equations/sci_gateway/fortran/Ex-impl.f for an example to do
            that.
adda can also be a list: see the help of ode.
The input jac is also an external.
If jac is a function, its syntax must be as
            follows:
j = jac(t,y,ydot)
and it must return the Jacobian of
            r=g(t,y)-A(t,y)*ydot with respect to
            y.
If jac is a character string, it refers to the
            name of a Fortran subroutine or a C function. See
            SCI/modules/differential_equations/sci_gateway/fortran/Ex-impl.f for an example to do
            that.
jac can also be a list: see the help of ode.
Examples
y=impl([1;0;0],[-0.04;0.04;0],0,0.4,'resid','aplusp'); // Using hot restart //[x1,w,iw]=impl([1;0;0],[-0.04;0.04;0],0,0.2,'resid','aplusp'); // hot start from previous call //[x1]=impl([1;0;0],[-0.04;0.04;0],0.2,0.4,'resid','aplusp',w,iw); //max(abs(x1-x))
See Also
| Report an issue | ||
| << feval | Differential calculus, Integration | int2d >> |