# 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