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 - 日本語 - Русский
Aide de Scilab >> Intégration - dérivation > ode_discrete

ode_discrete

ordinary differential equation solver, discrete time simulation

Syntax

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:
Tue Jul 20 11:19:17 CEST 2021