1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry version="5.0-subset Scilab" xml:id="interp2d" xml:lang="en"
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">
<info>
<pubdate>$LastChangedDate$</pubdate>
</info>
<refnamediv>
<refname>interp2d</refname>
<refpurpose>funo de avaliao spline bicbica (2d)</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Seqncia de Chamamento</title>
<synopsis>[zp[,dzpdx,dzpdy[,d2zpdxx,d2zpdxy,d2zpdyy]]]=interp2d(xp,yp,x,y,C [,out_mode])</synopsis>
</refsynopsisdiv>
<refsection>
<title>Parmetros</title>
<variablelist>
<varlistentry>
<term>xp, yp</term>
<listitem>
<para>vetores ou matrizes de reais de mesmo tamanho </para>
</listitem>
</varlistentry>
<varlistentry>
<term>x,y,C</term>
<listitem>
<para>vetores de reais definindo uma funo de spline bicbico ou
sub-spline (chamada <literal>s</literal> daqui em diante) </para>
</listitem>
</varlistentry>
<varlistentry>
<term>out_mode</term>
<listitem>
<para>(opcional) string definindo a avaliao de
<literal>s</literal> fora de [x(1),x(nx)]x[y(1),y(ny)] </para>
</listitem>
</varlistentry>
<varlistentry>
<term>zp</term>
<listitem>
<para>vetor ou matriz com o mesmo formato que <literal>xp</literal>
e <literal>yp</literal>, avaliao elemento a elemento de
<literal>s</literal> nestes pontos. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>dzpdx, dzpdy</term>
<listitem>
<para>vetores (ou matrizes) de mesmo formato que
<literal>xp</literal> e <literal>yp</literal>, avaliao elemento a
elemento das derivadas primeiras de <literal>s</literal> nesses
pontos.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>d2zpdxx, d2zpdxy, d2zpdyy</term>
<listitem>
<para>vetores (ou matrizes) de mesmo formato que
<literal>xp</literal> e <literal>yp</literal>, eavaliao elemento a
elemento das derivadas segundas de <literal>s</literal> nesses
pontos.</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection>
<title>Descrio</title>
<para>Dados trs vetores <literal>(x,y,C)</literal> definindo uma funo
de sub-spline ou spline bicbico (ver <link
linkend="splin2d">splin2d</link>) esta funo avalia s (e <emphasis>ds/dx,
ds/dy, d2s/dxx, d2s/dxy, d2s/dyy</emphasis> se necessrio) em
<emphasis>(xp(i),yp(i))</emphasis> :</para>
<programlisting role = ""><![CDATA[
zp(i) = s(xp(i),yp(i))
dzpdx(i) = ds/dx(xp(i),yp(i))
dzpdy(i) = ds/dy(xp(i),yp(i))
d2zpdxx(i) = d2s/dx2(xp(i),yp(i))
d2zpdxy(i) = d2s/dxdy(xp(i),yp(i))
d2zpdyy(i) = d2s/dy2(xp(i),yp(i))
]]></programlisting>
<para>O parmetro <literal>out_mode</literal> define a regra de avaliao
para extrapolao, i.e., para <emphasis>(xp(i),yp(i)) fora de
[x(1),x(nx)]x[y(1),y(ny)]</emphasis>:</para>
<variablelist>
<varlistentry>
<term>"by_zero"</term>
<listitem>
<para>uma extrapolao por zero realizada </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"by_nan"</term>
<listitem>
<para>extrapolao por NaN </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"C0"</term>
<listitem>
<para>Extrapolao definida como segue :</para>
<programlisting role = ""><![CDATA[
s(x,y) = s(proj(x,y)) onde proj(x,y) o ponto mais prximo
em [x(1),x(nx)]x[y(1),y(ny)] de (x,y)
]]></programlisting>
</listitem>
</varlistentry>
<varlistentry>
<term>"natural"</term>
<listitem>
<para>a extrapolao realizada utilizando o elemento de rea
bicbico mais prximo de (x,y). </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"periodic"</term>
<listitem>
<para> <literal>s</literal> estendida por periodicidade. </para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection>
<title>Exemplos </title>
<programlisting role="example"><![CDATA[
// veja os exemplos de splin2d
// este exemplo mostra caractersticas de extrapolaes diferentes
// interpolao de cos(x)cos(y)
n = 7; // um grid de interpolao n x n
x = linspace(0,2*%pi,n); y = x;
z = cos(x')*cos(y);
C = splin2d(x, y, z, "periodic");
// agora avaliando em um domnio maior que [0,2pi]x [0,2pi]
m = 80; // parmetro de discretizao do grid de avaliao
xx = linspace(-0.5*%pi,2.5*%pi,m); yy = xx;
[XX,YY] = ndgrid(xx,yy);
zz1 = interp2d(XX,YY, x, y, C, "C0");
zz2 = interp2d(XX,YY, x, y, C, "by_zero");
zz3 = interp2d(XX,YY, x, y, C, "periodic");
zz4 = interp2d(XX,YY, x, y, C, "natural");
xbasc()
subplot(2,2,1)
plot3d(xx, yy, zz1, flag=[2 6 4])
xtitle("Extrapolao com o outmode C0")
subplot(2,2,2)
plot3d(xx, yy, zz2, flag=[2 6 4])
xtitle("Extrapolao com o outmode by_zero")
subplot(2,2,3)
plot3d(xx, yy, zz3, flag=[2 6 4])
xtitle("Extrapolao com o outmode periodic")
subplot(2,2,4)
plot3d(xx, yy, zz4, flag=[2 6 4])
xtitle("Extrapolao com o outmode natural")
xselect()
]]></programlisting>
</refsection>
<refsection>
<title>Ver Tambm</title>
<simplelist type="inline">
<member><link linkend="splin2d">splin2d</link></member>
</simplelist>
</refsection>
<refsection>
<title>Autor</title>
<para>B. Pincon</para>
</refsection>
</refentry>
|