<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( https://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) INRIA
 *
 * Copyright (C) 2012 - 2016 - Scilab Enterprises
 *
 * This file is hereby licensed under the terms of the GNU GPL v2.0,
 * pursuant to article 5.3.4 of the CeCILL v.2.1.
 * This file was originally licensed under the terms of the CeCILL v2.1,
 * and continues to be available under such terms.
 * For more information, see the COPYING file which you should have received
 * along with this program.
 *
 -->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"  xml:lang="en" xml:id="paramfplot2d">
    <refnamediv>
        <refname>paramfplot2d</refname>
        <refpurpose>animated plot of a 2D parametrized curve.</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Syntax</title>
        <synopsis>paramfplot2d(f,x,theta)
            paramfplot2d(f,x,theta,flag)
            paramfplot2d(f,x,theta,flag,rect)
        </synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Arguments</title>
        <variablelist>
            <varlistentry>
                <term>x</term>
                <listitem>
                    <para>real vector.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>f</term>
                <listitem>
                    <para>
                        function <literal>y=f(x,t)</literal> . f is a Scilab function or a dynamically linked routine (referred to as a string).
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>theta</term>
                <listitem>
                    <para>real vector (set of parameters).</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>flag</term>
                <listitem>
                    <para>
                        string <literal>'no'</literal> or <literal>'yes'</literal>: If "yes" screen is not cleared  between two consecutive plots.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>rect</term>
                <listitem>
                    <para>"rectangle" [xmin, xmax, ymin, ymax] (1 x 4 real vector),</para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Description</title>
        <para>
            Animated plot of the function <literal>x</literal>,
            <literal>t</literal>--&gt;<literal>f(x,t)</literal> for
            <literal>t=theta(1),theta(2),etc</literal>.  <literal>f</literal>
            can be a either Scilab function or a dynamically linked routine
            since <literal>y=f(x,t)</literal> is evaluated as
            <literal>y=feval(x(:),t,f)</literal>. See <link linkend="feval">feval</link>.
        </para>
        <para>
            <literal>f</literal> is a mapping <literal>x</literal>,
            <literal>t</literal>--&gt; <literal>f(x,t) = R^N</literal> valued
            function for <literal>x</literal> a vector of
            <literal>R^N</literal> and <literal>t</literal> a real number.
        </para>
    </refsection>
    <refsection>
        <title>Examples</title>
        <programlisting role="example"><![CDATA[
deff('y=f(x,t)','y=t*sin(x)')
x=linspace(0,2*%pi,50);
theta=0:0.05:1;
clf;paramfplot2d(f,x,theta);
 ]]></programlisting>
        <programlisting role="example"><![CDATA[
function V=twosoliton(x,t)
  a1=6;s1=2;v1=a1^2;
  a2=4;s2=40;v2=a2^2;

  f1=exp(-a1*(x-s1-v1*t));
  f2=exp(-a2*(x-s2-v2*t));
  r=((a2-1)/(a2+a1))^2;
  V=2*(v1*f1+v2*f2+2*(a2-a1)^2*f1.*f2+r*(v2*(f1.^2).*f2+v1*f1.*(f2.^2)))./((1+f1+f2+r*f1.*f2).^2);
endfunction
x=linspace(1,100,3000);
clf;paramfplot2d(twosoliton,x,0:0.05:3);
 ]]></programlisting>
    </refsection>
    <refsection role="see also">
        <title>See also</title>
        <simplelist type="inline">
            <member>
                <link linkend="comet">comet</link>
            </member>
            <member>
                <link linkend="plot2d">plot2d</link>
            </member>
            <member>
                <link linkend="feval">feval</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
