Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Дифференциальное счисление, интегрирование > ode_discrete

ode_discrete

программа решения обыкновенных дифференциальных уравнений, моделирование дискретного времени

Синтаксис

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

Аргументы

y0

вещественный вектор или матрица (начальные условия).

t0

вещественный скаляр (начальное время).

f

внешняя функция, т.е. функция или символьная строка или список.

k0

целое число (начальное время).

kvect

вектор целочисленных значений.

Описание

С таким синтаксисом (первый аргумента равен "discrete") ode вычисляет рекурсивно y(k+1)=f(k,y(k)) из исходного состояния y(k0) и возвращает y(k) для k в kvect. kvect(1) должен быть больше либо равен k0.

Другие аргументы и другие опции те же самые, что и для ode, см. справку по ode.

Примеры

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))

// Теперь y вычисляется в [y3,y5,y7,y9]
y = ode("discrete", y1, 1, 3:2:9, a_function)

Смотрите также

  • ode — программа решения обыкновенных дифференциальных уравнений
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:21:22 CEST 2021