Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - Русский - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Calcul différentiel, Intégration > ode_discrete

ode_discrete

ordinary differential equation solver, discrete time simulation

Calling Sequence

y=ode("discrete",y0,k0,kvect,f)

Arguments

y0

a real vector or matrix (initial conditions).

t0

a real scalar (initial time).

f

an external i.e. function or character string or list.

k0

an integer (initial time).

kvect

an integer vector.

Description

With this syntax (first argument equal to "discrete") ode computes recursively y(k+1)=f(k,y(k)) from an initial state y(k0) and returns y(k) for k in kvect. kvect(1) must be greater than or equal to k0.

Other arguments and other options are the same as for ode, see the see ode help.

Examples

y1=[1;2;3]; deff("yp=a_function(k,y)","yp=A*y+B*u(k)")
A=diag([0.2,0.5,0.9]); B=[1;1;1];u=1:10;n=5;
y=ode("discrete",y1,1,1:n,a_function);
y(:,2)-(A*y1+B*u(1))

// Now y evaluates  at [y3,y5,y7,y9]
y=ode("discrete",y1,1,3:2:9,a_function)

See Also

  • ode — solveur d'équations différentielles ordinaires
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:54:30 CEST 2014