<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2008 - INRIA - Farid BELAHCENE
 *
 * 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:ns5="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="interp1" xml:lang="pt">
    <refnamediv>
        <refname>interp1</refname>
        <refpurpose>função de interpolação 1d</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Seqüência de Chamamento</title>
        <synopsis>
          yp = interp1(x, y, xp)
          yp = interp1(x, y, xp, method)
          yp = interp1(x, y, xp, method, extrapolation)
        </synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Parâmetros</title>
        <variablelist>
            <varlistentry>
                <term>xp</term>
                <listitem>
                    <para>escalar real, vetor ou matriz (ou hipermatriz) de reais
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>x</term>
                <listitem>
                    <para>vetor de reais</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>method</term>
                <listitem>
                    <para>(opcional) string definindo o método de interpolação </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>extrapolation</term>
                <listitem>
                    <para>(opcional) string ou valor real defindo os componentes yp(j)
                        para os valores xp(j) fora do intervalo [x1,xn].
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>yp</term>
                <listitem>
                    <para>vetor ou matriz (ou hipermatriz) </para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Descrição</title>
        <para>
            Dados <literal>(x,y,xp)</literal>, esta função faz corresponder os
            yp componentes aos xp por interpolação (linear por padrão) definida por x
            e y.
        </para>
        <para>
            Se <literal>yp</literal> é um vetor, então o comprimento de xp é
            igual ao comprimento de <literal>yp</literal>. Se <literal>yp</literal> é
            uma matriz, então <literal>xp</literal> tem o mesmo comprimento que cada
            uma das colunas de yp. Se <literal>yp</literal> é uma hipermatriz, então o
            comprimento de <literal>xp</literal> é o mesmo da primeira dimensão de
            <literal>yp. </literal>
        </para>
        <para>Se size(y)=[C,M1,M2,M3,...,Mj] e size(xp)= [N1,N2,N3,...,Nk] então
            size(yp)= [N1,N2,..,Nk,M1,M2,...Mj] e o comprimento de x deve ser igual a
            size(y,1)
        </para>
        <para>
            O parâmetro <literal>method</literal> ajusta a regra avaliação para
            interpolação.
        </para>
        <variablelist>
            <varlistentry>
                <term>"linear"</term>
                <listitem>
                    <para>
                        a interpolação é definida pelo método linear (ver <link linkend="interpln">interpln</link>)
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>"spline"</term>
                <listitem>
                    <para>
                        definição de interpolação por spline cúbico (ver <link linkend="splin">splin</link> , <link linkend="interp">interp</link>)
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>"nearest"</term>
                <listitem>
                    <para>para cada valor xp(j), yp(j) toma o valor ou y(i)
                        correspondente ao x(i), o vízinho mais próximo de xp(j)
                    </para>
                    <para/>
                </listitem>
            </varlistentry>
        </variablelist>
        <para>
            O parâmetro <literal>extrapolation</literal> ajusta a regra de
            avaliação para extrapolação, i.e para <literal>xp(i) </literal>fora do
            intervalo [x1,xn]
        </para>
        <variablelist>
            <varlistentry>
                <term>"extrap"</term>
                <listitem>
                    <para>a extrapolação é realizada pelo método definido.
                        yp=interp1(x,y,xp,method,"extrap")
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>valor real</term>
                <listitem>
                    <para>você pode escolher um valor real para extrapolação. Deste
                        modo, yp(i) toma este valor para xp(i) fora do intervalo [x1,xn],
                        por exemplo 0 (mas também nan ou inf). yi=interp1(x,y,xp,method, 0)
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>por padrão</term>
                <listitem>
                    <para>a extrapolação é realizada pelo método definido (para método
                        spline), e por nan para os métodos "linear" e "nearest".
                        yp=interp1(x,y,xp,method)
                    </para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Exemplos</title>
        <programlisting role="example"><![CDATA[
x = linspace(0, 3, 20);
y = x^2;
xx = linspace(0, 3, 100);
yy1 = interp1(x, y, xx, 'linear');
yy2 = interp1(x, y, xx, 'spline');
yy3 = interp1(x, y, xx, 'nearest');
plot(xx, [yy1; yy2; yy3], x, y, '*')
xtitle('interpolation of square function')
legend(['linear','spline','nearest'], "in_upper_left");
 ]]></programlisting>
    </refsection>
    <refsection role="see also">
        <title>Ver Também</title>
        <simplelist type="inline">
            <member>
                <link linkend="interp">interp</link>
            </member>
            <member>
                <link linkend="interpln">interpln</link>
            </member>
            <member>
                <link linkend="splin">splin</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
