<< ode Дифференциальные уравнения ode_optional_output >>

Scilab Help >> Дифференциальные уравнения > 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)

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


Report an issue
<< ode Дифференциальные уравнения ode_optional_output >>