Revision of help pages for dae function (en_US, ru_RU).
[scilab.git] / scilab / modules / differential_equations / help / ru_RU / dae.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) 2008 - INRIA
5  * ...
6  * 
7  * This file must be used under the terms of the CeCILL.
8  * This source file is licensed as described in the file COPYING, which
9  * you should have received as part of this distribution.  The terms
10  * are also available at    
11  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
12  *
13  -->
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:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="dae" xml:lang="ru">
15     <refnamediv>
16         <refname>dae</refname>
17         <refpurpose>программа решения дифференциальных алгебраических уравнений
18             (ДАУ)
19         </refpurpose>
20     </refnamediv>
21     <refsynopsisdiv>
22         <title>Последовательность вызова</title>
23         <synopsis> 
24             y=dae(initial,t0,t,res) 
25             [y [,hd]]=dae(initial,t0,t [,rtol, [atol]],res [,jac] [,hd])
26             [y,rd]=dae("root",initial,t0,t,res,ng,surface)
27             [y ,rd [,hd]]=dae("root",initial,t0,t [,rtol, [atol]],res [,jac], ng, surface [,hd])
28         </synopsis>
29     </refsynopsisdiv>
30     <refsection>
31         <title>Аргументы</title>
32         <variablelist>
33             <varlistentry>
34                 <term>initial</term>
35                 <listitem>
36                     <para>
37                         вектор-столбец. Он может быть равен <literal>x0</literal> или
38                         <literal>[x0;xdot0]</literal>, где <literal>x0</literal> - это
39                         значение состояния в начальный момент времени <literal>t0</literal>,
40                         а <literal>xdot0</literal> - значение производной исходного
41                         состояния или его оценка (см. ниже).
42                     </para>
43                 </listitem>
44             </varlistentry>
45             <varlistentry>
46                 <term>t0</term>
47                 <listitem>
48                     <para>вещественное число, исходный момент времени.</para>
49                 </listitem>
50             </varlistentry>
51             <varlistentry>
52                 <term>t</term>
53                 <listitem>
54                     <para>Вещественный скаляр или вектор. Указывает моменты времени для
55                         которых нужно найти решение. Заметьте, что вы можете получить
56                         решение в каждой точке шага ДАУ с помощью установки 
57                         <literal>
58                             <link linkend="daeoptions">%DAEOPTIONS</link>(2)=1 
59                         </literal>
60                         .
61                     </para>
62                 </listitem>
63             </varlistentry>
64             <varlistentry>
65                 <term>rtol</term>
66                 <listitem>
67                     <para>вещественный скаляр или вектор-столбец того же размера, что и
68                         <literal>x0</literal>, допуск относительной ошибки. Если
69                         <literal>rtol</literal> является вектором, то допуски определяются
70                         для каждой составляющей состояния.
71                     </para>
72                 </listitem>
73             </varlistentry>
74             <varlistentry>
75                 <term>atol</term>
76                 <listitem>
77                     <para>вещественный скаляр или вектор-столбец того же размера, что и
78                         <literal>x0</literal>, допуск абсолютной ошибки. Если
79                         <literal>atol</literal> является вектором, то допуски определяются
80                         для каждой составляющей состояния.
81                     </para>
82                 </listitem>
83             </varlistentry>
84             <varlistentry>
85                 <term>res</term>
86                 <listitem>
87                     <para>
88                         <link linkend="external">внешняя</link> функция, которая
89                         вычисляет значение <literal>g(t,y,ydot)</literal>. Она может
90                         быть:
91                     </para>
92                     <variablelist>
93                         <varlistentry>
94                             <term>функцией Scilab'а</term>
95                             <listitem>
96                                 <para>В этом случае последовательность вызова должна быть
97                                     <literal>[r,ires]=res(t,x,xdot)</literal>, а
98                                     <literal>res</literal> должна возвращать остаток
99                                     <literal>r=g(t,x,xdot)</literal> и флаг ошибки
100                                     <literal>ires</literal>.
101                                 </para>
102                                 <para>
103                                     <literal>ires = 0</literal>, если <literal>res</literal>
104                                     смогла вычислить <literal>r</literal>;
105                                 </para>
106                                 <para>
107                                     <literal>ires = -1</literal>, если остаток для
108                                     <literal>g(t,x,xdot)</literal> локально не определён;
109                                 </para>
110                                 <para>
111                                     <literal>ires =-2</literal>, если параметры находятся
112                                     вне допустимого диапазона.
113                                 </para>
114                             </listitem>
115                         </varlistentry>
116                         <varlistentry>
117                             <term>списком</term>
118                             <listitem>
119                                 <para>Эта форма внешней функции используется для передачи
120                                     параметров в функцию. Она может иметь следующий вид:
121                                 </para>
122                                 <programlisting role="no-scilab-exec"> 
123                                     list(res,p1,p2,...)
124                                 </programlisting>
125                                 <para>где последовательность вызова функции
126                                     <literal>res</literal> теперь
127                                 </para>
128                                 <programlisting role="no-scilab-exec"> 
129                                     r=res(t,y,ydot,p1,p2,...)
130                                 </programlisting>
131                                 <para>
132                                     Функция <literal>res</literal> по-прежнему возвращает
133                                     значение остатка в виде функции от
134                                     <literal>(t,x,xdot,x1,x2,...)</literal>, а <literal>p1,
135                                         p2,...
136                                     </literal>
137                                     являются параметрами функции.
138                                 </para>
139                             </listitem>
140                         </varlistentry>
141                         <varlistentry>
142                             <term>символьной строкой</term>
143                             <listitem>
144                                 <para>она должна ссылаться на имя подпрограммы на языке C или
145                                     fortran, в предположении, что
146                                     &lt;<literal>r_name</literal>&gt; является заданным
147                                     именем.
148                                 </para>
149                                 <itemizedlist>
150                                     <listitem>
151                                         <para>Последовательность вызова Fortran должна быть</para>
152                                         <para>
153                                             <literal>&lt;r_name&gt;(t, x, xdot, res, ires, rpar,
154                                                 ipar)
155                                             </literal>
156                                         </para>
157                                         <para>
158                                             <literal>t, x(*), xdot(*), res(*), rpar(*)</literal>
159                                             имеют удвоенную точность;
160                                         </para>
161                                         <para>
162                                             <literal>ires, ipar(*)</literal> являются
163                                             целочисленными.
164                                         </para>
165                                     </listitem>
166                                     <listitem>
167                                         <para>Последовательность вызова C должна быть</para>
168                                         <para>
169                                             <literal>C2F(&lt;r_name&gt;)(double *t, double *x,
170                                                 double *xdot, double *res, integer *ires, double *rpar,
171                                                 integer *ipar)
172                                             </literal>
173                                             ,
174                                         </para>
175                                     </listitem>
176                                 </itemizedlist>
177                                 <para>где</para>
178                                 <itemizedlist>
179                                     <listitem>
180                                         <para>
181                                             <literal>t</literal> - текущее значение
182                                             времени;
183                                         </para>
184                                     </listitem>
185                                     <listitem>
186                                         <para>
187                                             <literal>x</literal> - массив состояния;
188                                         </para>
189                                     </listitem>
190                                     <listitem>
191                                         <para>
192                                             <literal>xdot</literal> - массив производных
193                                             состояния;
194                                         </para>
195                                     </listitem>
196                                     <listitem>
197                                         <para>
198                                             <literal>res</literal> - массив остатков;
199                                         </para>
200                                     </listitem>
201                                     <listitem>
202                                         <para>
203                                             <literal>ires</literal> - индикатор
204                                             выполнения;
205                                         </para>
206                                     </listitem>
207                                     <listitem>
208                                         <para>
209                                             <literal>rpar</literal> - массив целочисленных
210                                             значений параметров с плавающей запятой, которые нужны, но
211                                             не могут быть установлены с помощью функции
212                                             <literal>dae</literal>.
213                                         </para>
214                                     </listitem>
215                                     <listitem>
216                                         <para>
217                                             <literal>ipar</literal> - массив целочисленных
218                                             значений параметров с плавающей запятой, которые нужны, но
219                                             не могут быть установлены с помощью функции
220                                             <literal>dae</literal>.
221                                         </para>
222                                     </listitem>
223                                 </itemizedlist>
224                             </listitem>
225                         </varlistentry>
226                     </variablelist>
227                 </listitem>
228             </varlistentry>
229             <varlistentry>
230                 <term>jac</term>
231                 <listitem>
232                     <para>
233                         <link linkend="external">Внешняя</link> функция вычисляет
234                         значение <literal>dg/dx+cj*dg/dxdot</literal> для заданного значения
235                         параметра <literal>cj</literal>. Она может быть
236                     </para>
237                     <variablelist>
238                         <varlistentry>
239                             <term>функцией Scilab'а</term>
240                             <listitem>
241                                 <para>В этом случае последовательность вызова должна быть
242                                     <literal>r=jac(t,x,xdot,cj)</literal>, а
243                                     <literal>jac</literal> должна возвращать
244                                     <literal>r=dg(t,x,xdot)/dy+cj*dg(t,x,xdot)/dxdot</literal>,
245                                     где <literal>cj</literal> - вещественный скаляр.
246                                 </para>
247                             </listitem>
248                         </varlistentry>
249                         <varlistentry>
250                             <term>списком</term>
251                             <listitem>
252                                 <para>Эта форма внешней функции используется для передачи
253                                     параметров в функцию. Она может иметь следующий вид:
254                                 </para>
255                                 <programlisting role="no-scilab-exec">  
256                                     list(jac,p1,p2,...)               
257                                 </programlisting>
258                                 <para>где последовательность вызова функции
259                                     <literal>jac</literal> теперь
260                                 </para>
261                                 <programlisting role="no-scilab-exec"> 
262                                     r=jac(t,x,xdot,p1,p2,...)      
263                                 </programlisting>
264                                 <para>
265                                     Функция <literal>jac</literal> по-прежнему возвращает
266                                     <literal>dg/dx+cj*dg/dxdot</literal> как функцию от
267                                     <literal>(t, x, xdot, cj, p1, p2,...)</literal>.
268                                 </para>
269                             </listitem>
270                         </varlistentry>
271                         <varlistentry>
272                             <term>символьной строкой</term>
273                             <listitem>
274                                 <para>она должна ссылаться на имя подпрограммы на языке C или
275                                     fortran, в предположении, что
276                                     &lt;<literal>j_name</literal>&gt; является заданным
277                                     именем.
278                                 </para>
279                                 <itemizedlist>
280                                     <listitem>
281                                         <para>Последовательность вызова Fortran должна быть</para>
282                                         <para>
283                                             <literal>&lt;j_name&gt;(t, x, xdot, r, cj, ires,
284                                                 rpar, ipar) 
285                                             </literal>
286                                         </para>
287                                         <para>
288                                             <literal>t, x(*), xdot(*), r(*), ci,
289                                                 rpar(*)
290                                             </literal>
291                                             имеют удвоенную точность;
292                                         </para>
293                                         <para>
294                                             <literal>ires, ipar(*)</literal> являются
295                                             целочисленными.
296                                         </para>
297                                     </listitem>
298                                     <listitem>
299                                         <para>Последовательность вызова C должна быть</para>
300                                         <para>
301                                             <literal>C2F(&lt;j_name&gt;)(double *t, double *x,
302                                                 double *xdot, double *r, double *cj, integer *ires, double
303                                                 *rpar, integer *ipar)
304                                             </literal>
305                                             ,
306                                         </para>
307                                     </listitem>
308                                 </itemizedlist>
309                                 <para>
310                                     где <literal>t, x, xdot, ires, rpar, ipar</literal>
311                                     имеют аналогичное определение, что и выше,
312                                     <literal>r</literal> - массив результатов
313                                 </para>
314                             </listitem>
315                         </varlistentry>
316                     </variablelist>
317                 </listitem>
318             </varlistentry>
319             <varlistentry>
320                 <term>surface</term>
321                 <listitem>
322                     <para>
323                         <link linkend="external">Внешняя</link> функция вычисляет
324                         значение вектор-столбца <literal>surface(t,x)</literal> с
325                         количеством элементов <literal>ng</literal>. Каждый элемент
326                         определяет поверхность.
327                     </para>
328                     <variablelist>
329                         <varlistentry>
330                             <term>функцией Scilab'а</term>
331                             <listitem>
332                                 <para>В этом случае последовательность вызова должна быть
333                                     <literal>r=surface(t,x)</literal>. Эта функция должна вернуть
334                                     вектор с <literal>ng</literal> элементами.
335                                 </para>
336                             </listitem>
337                         </varlistentry>
338                         <varlistentry>
339                             <term>списком</term>
340                             <listitem>
341                                 <para>Эта форма внешней функции используется для передачи
342                                     параметров в функцию. Она может иметь следующий вид:
343                                 </para>
344                                 <programlisting role="no-scilab-exec">  
345                                     list(surface,p1,p2,...)
346                                 </programlisting>
347                                 <para>где последовательность вызова функции
348                                     <literal>surface</literal> теперь имеет вид:
349                                 </para>
350                                 <programlisting role="no-scilab-exec"> 
351                                     r=surface(t,x,p1,p2,...)
352                                 </programlisting>
353                             </listitem>
354                         </varlistentry>
355                         <varlistentry>
356                             <term>символьной строкой</term>
357                             <listitem>
358                                 <para>она должна ссылаться на имя подпрограммы на языке C или
359                                     fortran, в предположении, что
360                                     &lt;<literal>s_name</literal>&gt; является заданным
361                                     именем.
362                                 </para>
363                                 <itemizedlist>
364                                     <listitem>
365                                         <para>Последовательность вызова Fortran должна быть</para>
366                                         <para>
367                                             <literal>&lt;j_name&gt;(t, x, xdot, r, cj, ires,
368                                                 rpar, ipar) 
369                                             </literal>
370                                         </para>
371                                         <para>
372                                             <literal>t, x(*), xdot(*), r(*), ci,
373                                                 rpar(*)
374                                             </literal>
375                                             имеют удвоенную точность;
376                                         </para>
377                                         <para>
378                                             <literal>ires, ipar(*)</literal> являются
379                                             целочисленными.
380                                         </para>
381                                     </listitem>
382                                     <listitem>
383                                         <para>Последовательность вызова C должна быть</para>
384                                         <para>
385                                             <literal>C2F(&lt;j_name&gt;)(double *t, double *x,
386                                                 double *xdot, double *r, double *cj, integer *ires, double
387                                                 *rpar, integer *ipar)
388                                             </literal>
389                                             ,
390                                         </para>
391                                     </listitem>
392                                 </itemizedlist>
393                                 <para>
394                                     где <literal>t, x, xdot, ires, rpar, ipar</literal>
395                                     имеют аналогичное определение, что и выше,
396                                     <literal>ng</literal> - количество поверхностей,
397                                     <literal>nx</literal> - размерность состояния и
398                                     <literal>r</literal> - массив результатов.
399                                 </para>
400                             </listitem>
401                         </varlistentry>
402                     </variablelist>
403                 </listitem>
404             </varlistentry>
405             <varlistentry>
406                 <term>rd</term>
407                 <listitem>
408                     <para>
409                         вектор с двумя элементами <literal>[times num]</literal>, где
410                         <literal>times</literal> - значение момента времени пересечения
411                         поверхности, <literal>num</literal> - число пересечённых
412                         поверхностей
413                     </para>
414                 </listitem>
415             </varlistentry>
416             <varlistentry>
417                 <term>hd</term>
418                 <listitem>
419                     <para>вещественный вектор, в качестве аргумента на выходе он хранит
420                         контекст <literal>dae</literal>. Он может быть использован в
421                         качестве входного аргумента для возобновления интегрирования
422                         (горячий перезапуск).
423                     </para>
424                 </listitem>
425             </varlistentry>
426             <varlistentry>
427                 <term>y</term>
428                 <listitem>
429                     <para>
430                         вещественная матрица. Если 
431                         <literal>
432                             <link linkend="daeoptions">%DAEOPTIONS</link>(2)=1
433                         </literal>
434                         ,то каждый
435                         столбец является вектором вида <literal>[t;x(t);xdot(t)]</literal>,
436                         где <literal>t</literal> - индекс времени для которого вычислено
437                         решение. В противном случае <literal>y</literal> - вектор вида
438                         <literal>[x(t);xdot(t)]</literal>.
439                     </para>
440                 </listitem>
441             </varlistentry>
442         </variablelist>
443     </refsection>
444     <refsection>
445         <title>Описание</title>
446         <para>
447             Функция <literal>dae</literal> является шлюзом, построенным над
448             функциями <link linkend="dassl">dassl</link> и <link linkend="dasrt">dasrt</link>, разработанными для явного интегрирования
449             дифференциальных уравнений.
450         </para>
451         <programlisting role="no-scilab-exec"> 
452             g(t,x,xdot)=0
453             x(t0)=x0  and   xdot(t0)=xdot0
454         </programlisting>
455         <para>
456             Если <literal>xdot0</literal> не указан в
457             <emphasis>исходном</emphasis> аргументе, то функция <literal>dae</literal>
458             пытается вычислить его решая уравнение
459             <literal>g(t,x0,xdot0)=0</literal>/
460         </para>
461         <para>
462             Если <literal>xdot0</literal> указан в <emphasis>исходном</emphasis>
463             аргументе, то он может быть либо совместимой производной (compatible
464             derivative), удовлетворяющей условию <literal>g(t,x0,xdot0)=0</literal>,
465             либо приближённым значением. В последнем случае <link linkend="daeoptions">%DAEOPTIONS</link>(7) должен быть установлен в
466             1.
467         </para>
468         <para>Конкретные примеры использования внешних функций, написанных на
469             языке Scilab и C, представлены в
470             <literal>modules/differential_equations/tests/unit_tests/dassldasrt.tst</literal>
471         </para>
472     </refsection>
473     <refsection>
474         <title>Примеры</title>
475         <programlisting role="example"><![CDATA[
476 //Пример с кодом Scilab
477 function [r,ires]=chemres(t,y,yd)
478     r(1) = -0.04*y(1) + 1d4*y(2)*y(3) - yd(1);
479     r(2) =  0.04*y(1) - 1d4*y(2)*y(3) - 3d7*y(2)*y(2) - yd(2);
480     r(3) =       y(1) +     y(2)      + y(3)-1;
481     ires =  0;
482 endfunction
483
484 function pd=chemjac(x,y,yd,cj)
485     pd=[-0.04-cj , 1d4*y(3)               , 1d4*y(2);
486          0.04    ,-1d4*y(3)-2*3d7*y(2)-cj ,-1d4*y(2);
487          1       , 1                      , 1       ]
488 endfunction
489
490 x0=[1; 0; 0];
491 xd0=[-0.04; 0.04; 0];
492 t=[1.d-5:0.02:.4, 0.41:.1:4, 40, 400, 4000, 40000, 4d5, 4d6, 4d7, 4d8, 4d9, 4d10];
493             
494 y=dae([x0,xd0],0,t,chemres);// возвращает запрошенные моменты времени наблюдения
495             
496 %DAEOPTIONS=list([],1,[],[],[],0,0); // просит вернуть сетку точек dae
497 y=dae([x0,xd0],0,4d10,chemres); // без якобиана
498 y=dae([x0,xd0],0,4d10,chemres,chemjac); // с якобианом
499  ]]></programlisting>
500         <programlisting role="example"><![CDATA[
501 //пример с кодом C (необходим C-компилятор)
502 --------------------------------------------------
503 bOK=haveacompiler();
504 if bOK<>%t
505     [btn] = messagebox(["Для этого примера Вам необходим C-компилятор.";"Выполнение этого примера отменено."], "Проблема с программным обеспечением", 'info');
506     return
507 end
508
509 //-1- создать C-код в TMPDIR - Уравнение Вандерпола, неявная форма
510 code=['#include <math.h>'
511       'void res22(double *t,double *y,double *yd,double *res,int *ires,double *rpar,int *ipar)'
512       '{res[0] = yd[0] - y[1];'
513       ' res[1] = yd[1] - (100.0*(1.0 - y[0]*y[0])*y[1] - y[0]);}'
514       ' '
515       'void jac22(double *t,double *y,double *yd,double *pd,double *cj,double *rpar,int *ipar)'
516       '{pd[0]=*cj - 0.0;'
517       ' pd[1]=    - (-200.0*y[0]*y[1] - 1.0);'
518       ' pd[2]=    - 1.0;'
519       ' pd[3]=*cj - (100.0*(1.0 - y[0]*y[0]));}'
520       ' '
521       'void gr22(int *neq, double *t, double *y, int *ng, double *groot, double *rpar, int *ipar)'
522       '{ groot[0] = y[0];}']
523 previous_dir = pwd();
524 cd TMPDIR;
525 mputl(code, 't22.c')
526
527 //-2- скомпилировать и загрузить его
528 ilib_for_link(['res22' 'jac22' 'gr22'],'t22.c',[],'c','Makefile','t22loader.sce');
529 exec('t22loader.sce')
530
531 //-3- запустить
532 rtol=[1.d-6;1.d-6];
533 atol=[1.d-6;1.d-4];
534 t0=0;y0=[2;0];
535 y0d=[0;-2];
536 t=[20:20:200];
537 ng=1;
538
539 //простое моделирование
540 t=0:0.003:300;
541 yy=dae([y0,y0d],t0,t,atol,rtol,'res22','jac22');
542 clf();plot(yy(1,:),yy(2,:))
543
544 // найти первую точку, где yy(1)=0
545 [yy,nn,hotd]=dae("root",[y0,y0d],t0,300,atol,rtol,'res22','jac22',ng,'gr22');
546 plot(yy(1,1),yy(2,1),'r+')
547 xstring(yy(1,1)+0.1,yy(2,1),string(nn(1)))
548 t=0:0.003:300;
549 yy=dae([y0,y0d],t0,t,atol,rtol,'res22','jac22');
550 clf();plot(yy(1,:),yy(2,:))
551
552 // горячий перезапуск для следующей точки
553 t01=nn(1);
554 [pp,qq]=size(yy);
555 y01=yy(2:3,qq);
556 y0d1=yy(3:4,qq);
557 [yy,nn,hotd]=dae("root",[y01,y0d1],t01,300,atol,rtol,'res22','jac22',ng,'gr22',hotd);
558 plot(yy(1,1),yy(2,1),'r+')
559 xstring(yy(1,1)+0.1,yy(2,1),string(nn(1)))
560 cd(previous_dir);
561 ]]></programlisting>
562         <scilab:image><![CDATA[
563 code=['#include <math.h>'
564       'void res22(double *t,double *y,double *yd,double *res,int *ires,double *rpar,int *ipar)'
565       '{res[0] = yd[0] - y[1];'
566       ' res[1] = yd[1] - (100.0*(1.0 - y[0]*y[0])*y[1] - y[0]);}'
567       ' '
568       'void jac22(double *t,double *y,double *yd,double *pd,double *cj,double *rpar,int *ipar)'
569       '{pd[0]=*cj - 0.0;'
570       ' pd[1]=    - (-200.0*y[0]*y[1] - 1.0);'
571       ' pd[2]=    - 1.0;'
572       ' pd[3]=*cj - (100.0*(1.0 - y[0]*y[0]));}'
573       ' '
574       'void gr22(int *neq, double *t, double *y, int *ng, double *groot, double *rpar, int *ipar)'
575       '{ groot[0] = y[0];}']
576 previous_dir = pwd();
577 cd TMPDIR;
578 mputl(code, 't22.c')
579 ilib_for_link(['res22' 'jac22' 'gr22'],'t22.c',[],'c','Makefile','t22loader.sce');
580 exec('t22loader.sce')
581 rtol=[1.d-6;1.d-6];
582 atol=[1.d-6;1.d-4];
583 t0=0;y0=[2;0];
584 y0d=[0;-2];
585 t=[20:20:200];
586 ng=1;
587 t=0:0.003:300;
588 yy=dae([y0,y0d],t0,t,atol,rtol,'res22','jac22');
589 clf();plot(yy(1,:),yy(2,:))
590 [yy,nn,hotd]=dae("root",[y0,y0d],t0,300,atol,rtol,'res22','jac22',ng,'gr22');
591 plot(yy(1,1),yy(2,1),'r+')
592 xstring(yy(1,1)+0.1,yy(2,1),string(nn(1)))
593 t01=nn(1);
594 [pp,qq]=size(yy);
595 y01=yy(2:3,qq);
596 y0d1=yy(3:4,qq);
597 [yy,nn,hotd]=dae("root",[y01,y0d1],t01,300,atol,rtol,'res22','jac22',ng,'gr22',hotd);
598 plot(yy(1,1),yy(2,1),'r+')
599 xstring(yy(1,1)+0.1,yy(2,1),string(nn(1)));
600 cd(previous_dir);
601  ]]></scilab:image>
602     </refsection>
603     <refsection role="see also">
604         <title>Смотрите также</title>
605         <simplelist type="inline">
606             <member>
607                 <link linkend="ode">ode</link>
608             </member>
609             <member>
610                 <link linkend="daeoptions">daeoptions</link>
611             </member>
612             <member>
613                 <link linkend="dassl">dassl</link>
614             </member>
615             <member>
616                 <link linkend="impl">impl</link>
617             </member>
618             <member>
619                 <link linkend="fort">fort</link>
620             </member>
621             <member>
622                 <link linkend="link">link</link>
623             </member>
624             <member>
625                 <link linkend="external">external</link>
626             </member>
627         </simplelist>
628     </refsection>
629 </refentry>