* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2008 - INRIA
* ...
- *
+ *
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
- * are also available at
+ * are also available at
* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
*
-->
</refnamediv>
<refsynopsisdiv>
<title>Calling Sequence</title>
- <synopsis> y=dae(initial,t0,t,res)
+ <synopsis> y=dae(initial,t0,t,res)
[y [,hd]]=dae(initial,t0,t [,rtol, [atol]],res [,jac] [,hd])
[y,rd]=dae("root",initial,t0,t,res,ng,surface)
[y ,rd [,hd]]=dae("root",initial,t0,t [,rtol, [atol]],res [,jac], ng, surface [,hd])
<listitem>
<para>a real scalar or vector. Gives instants for which you want the
solution. Note that you can get solution at each dae's step point by
- setting
+ setting
<literal>
<link linkend="daeoptions">%DAEOPTIONS</link>(2)=1
</literal>
<para>This form of external is used to pass parameters to the
function. It must be as follows:
</para>
- <programlisting role="no-scilab-exec"><![CDATA[
+ <programlisting role="no-scilab-exec"><![CDATA[
list(res,p1,p2,...)
]]></programlisting>
<para>where the calling sequence of the function
<literal>res</literal> is now
</para>
- <programlisting role="no-scilab-exec"><![CDATA[
+ <programlisting role="no-scilab-exec"><![CDATA[
r=res(t,y,ydot,p1,p2,...)
]]></programlisting>
<para>
<para>This form of external is used to pass parameters to the
function. It must be as follows:
</para>
- <programlisting role="no-scilab-exec"><![CDATA[
-list(jac,p1,p2,...)
+ <programlisting role="no-scilab-exec"><![CDATA[
+list(jac,p1,p2,...)
]]></programlisting>
<para>where the calling sequence of the function
<literal>jac</literal> is now
</para>
- <programlisting role="no-scilab-exec"><![CDATA[
-r=jac(t,x,xdot,p1,p2,...)
+ <programlisting role="no-scilab-exec"><![CDATA[
+r=jac(t,x,xdot,p1,p2,...)
]]></programlisting>
<para>
<literal>jac</literal> still returns
This form of <link linkend="external">external</link> is used to pass parameters to the
function. It must be as follows:
</para>
- <programlisting role="no-scilab-exec"><![CDATA[
+ <programlisting role="no-scilab-exec"><![CDATA[
list(surface,p1,p2,...)
]]></programlisting>
<para>where the calling sequence of the function
<literal>surface</literal> is now
</para>
- <programlisting role="no-scilab-exec"><![CDATA[
+ <programlisting role="no-scilab-exec"><![CDATA[
r=surface(t,x,p1,p2,...)
]]></programlisting>
</listitem>
<term>rd</term>
<listitem>
<para>
- a vector with two entries <literal>[times num]</literal> where
+ a vector with two entries <literal>[times num]</literal> where
<literal>times</literal> is the value of the time at which the
surface is crossed, <literal>num</literal> is the number of the
crossed surface
<term>y</term>
<listitem>
<para>
- a real matrix. If
+ a real matrix. If
<literal>
<link linkend="daeoptions">%DAEOPTIONS</link>(2)=1
</literal>
<link linkend="dassl">dassl</link> and <link linkend="dasrt">dasrt</link>
function designed for implicit differential equations integration.
</para>
- <programlisting role="no-scilab-exec"><![CDATA[
+ <programlisting role="no-scilab-exec"><![CDATA[
g(t,x,xdot)=0
x(t0)=x0 and xdot(t0)=xdot0
]]></programlisting>
<para>
- If <literal>xdot0</literal> is not given in the <emphasis>initial</emphasis>
+ If <literal>xdot0</literal> is not given in the <emphasis>initial</emphasis>
argument, the <literal>dae</literal> function tries to compute it solving
<literal>g(t,x0,xdot0)=0</literal>.
</para>
</refsection>
<refsection>
<title>Examples</title>
- <programlisting role="example"><![CDATA[
+ <programlisting role="example"><![CDATA[
//Example with Scilab code
function [r,ires]=chemres(t,y,yd)
r(1) = -0.04*y(1) + 1d4*y(2)*y(3) - yd(1);
mputl(code, 't22.c')
//-2- compile and load them
-ilib_for_link(['res22' 'jac22' 'gr22'],'t22.c',[],'c','Makefile','t22loader.sce');
+ilib_for_link(['res22' 'jac22' 'gr22'],'t22.c',[],'c',[],'t22loader.sce');
exec('t22loader.sce')
//-3- run
previous_dir = pwd();
cd TMPDIR;
mputl(code, 't22.c')
-ilib_for_link(['res22' 'jac22' 'gr22'],'t22.c',[],'c','Makefile','t22loader.sce');
+ilib_for_link(['res22' 'jac22' 'gr22'],'t22.c',[],'c',[],'t22loader.sce');
exec('t22loader.sce')
rtol=[1.d-6;1.d-6];
atol=[1.d-6;1.d-4];