14
14
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ode_discrete" xml:lang="ru">
16
<refname>ode_discrete</refname>
18
программа решения обыкновенных дифференциальных уравнений, моделирование дискретного времени
22
<title>Последовательность вызова</title>
23
<synopsis>y=ode("discrete",y0,k0,kvect,f)</synopsis>
26
<title>Аргументы</title>
31
<para>вещественный вектор или матрица (начальные условия).</para>
37
<para>вещественный скаляр (начальное время).</para>
43
<para>внешняя функция, т.е. функция или символьная строка или список.</para>
49
<para>целое число (начальное время).</para>
55
<para>вектор целочисленных значений.</para>
61
<title>Описание</title>
63
С таким синтаксисом (первый аргумента равен <literal>"discrete"</literal>)
64
<literal>ode</literal> вычисляет рекурсивно <literal>y(k+1)=f(k,y(k))</literal> из исходного
65
состояния <literal>y(k0)</literal> и возвращает <literal>y(k)</literal> для
66
<literal>k</literal> в <literal>kvect</literal>. <literal>kvect(1)</literal> должен быть
67
больше либо равен <literal>k0</literal>.
70
Другие аргументы и другие опции те же самые, что и для <literal>ode</literal>, см. справку по <link linkend="ode">ode</link>.
74
<title>Примеры</title>
75
<programlisting role="example"><![CDATA[
16
<refname>ode_discrete</refname>
18
программа решения обыкновенных дифференциальных уравнений, моделирование дискретного времени
22
<title>Последовательность вызова</title>
23
<synopsis>y=ode("discrete",y0,k0,kvect,f)</synopsis>
26
<title>Аргументы</title>
31
<para>вещественный вектор или матрица (начальные условия).</para>
37
<para>вещественный скаляр (начальное время).</para>
43
<para>внешняя функция, т.е. функция или символьная строка или список.</para>
49
<para>целое число (начальное время).</para>
55
<para>вектор целочисленных значений.</para>
61
<title>Описание</title>
63
С таким синтаксисом (первый аргумента равен <literal>"discrete"</literal>)
64
<literal>ode</literal> вычисляет рекурсивно <literal>y(k+1)=f(k,y(k))</literal> из исходного
65
состояния <literal>y(k0)</literal> и возвращает <literal>y(k)</literal> для
66
<literal>k</literal> в <literal>kvect</literal>. <literal>kvect(1)</literal> должен быть
67
больше либо равен <literal>k0</literal>.
70
Другие аргументы и другие опции те же самые, что и для <literal>ode</literal>, см. справку по <link linkend="ode">ode</link>.
74
<title>Примеры</title>
75
<programlisting role="example"><![CDATA[
76
76
y1=[1;2;3]; deff("yp=a_function(k,y)","yp=A*y+B*u(k)")
77
77
A=diag([0.2,0.5,0.9]); B=[1;1;1];u=1:10;n=5;
78
78
y=ode("discrete",y1,1,1:n,a_function);
81
81
// Теперь y вычисляется в [y3,y5,y7,y9]
82
82
y=ode("discrete",y1,1,3:2:9,a_function)
83
83
]]></programlisting>
85
<refsection role="see also">
86
<title>Смотрите также</title>
87
<simplelist type="inline">
89
<link linkend="ode">ode</link>
85
<refsection role="see also">
86
<title>Смотрите также</title>
87
<simplelist type="inline">
89
<link linkend="ode">ode</link>