1 <?xml version="1.0" encoding="UTF-8"?>
2 <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="interp2d" xml:lang="ja">
4 <refname>interp2d</refname>
5 <refpurpose>双3次スプライン (2d) 評価関数</refpurpose>
9 <synopsis>[zp[,dzpdx,dzpdy[,d2zpdxx,d2zpdxy,d2zpdyy]]]=interp2d(xp,yp,x,y,C [,out_mode])</synopsis>
17 <para>同じ大きさの実数行列または行列</para>
24 双3次スプラインまたはサブスプライン関数を定義する実数ベクトル
25 (以下<literal>s</literal>と呼びます)
32 <para>[x(1),x(nx)]x[y(1),y(ny)]の外にある値の評価方法を定義する(オプションの)文字列</para>
39 <literal>xp</literal> および
40 <literal>yp</literal>と同じ形式のベクトルまたは行列 ,
41 これらの点における<literal>s</literal>の要素毎の評価.
46 <term>dzpdx, dzpdy</term>
49 <literal>xp</literal> および <literal>yp</literal>と同じ形式のベクトル (または行列)
50 これらの点における<literal>s</literal>の要素毎の1次微分.
55 <term>d2zpdxx, d2zpdxy, d2zpdyy</term>
58 <literal>xp</literal> および <literal>yp</literal>と同じ形式の
60 これらの点における<literal>s</literal>の要素毎の2次微分.
69 双3次スプラインまたはサブスプライン関数を定義する
70 3つのベクトル <literal>(x,y,C)</literal>
71 (<link linkend="splin2d">splin2d</link>参照)を指定すると,
72 この関数は, 次のように<emphasis>(xp(i),yp(i))</emphasis>における
73 <emphasis>s</emphasis> (要すれば <emphasis>ds/dx,
74 ds/dy, d2s/dxx, d2s/dxy, d2s/dyy
81 <imagedata fileref="../mml/interp2_equation_1.mml"/>
86 <literal>out_mode</literal> パラメータは,
87 捕外,すなわち<emphasis>(xp(i),yp(i))</emphasis>が
88 [x(1),x(nx)]x[y(1),y(ny)]にない場合,
93 <term>"by_zero"</term>
95 <para>ゼロによる捕外が行われます</para>
101 <para>Nanによる捕外</para>
107 <para>捕外は以下のように定義されます :</para>
108 <programlisting role=""><![CDATA[
109 s(x,y) = s(proj(x,y)) where proj(x,y) is nearest point
110 of [x(1),x(nx)]x[y(1),y(ny)] from (x,y)
115 <term>"natural"</term>
117 <para>捕外は(x,y)から最も近い双三次パッチにより行われます.</para>
121 <term>"periodic"</term>
124 <literal>s</literal> は周期的に拡張されます.
132 <programlisting role="example"><![CDATA[
133 // see the examples of splin2d
135 // this example shows some different extrapolation features
136 // interpolation of cos(x)cos(y)
137 n = 7; // a n x n interpolation grid
138 x = linspace(0,2*%pi,n); y = x;
140 C = splin2d(x, y, z, "periodic");
142 // now evaluate on a bigger domain than [0,2pi]x [0,2pi]
143 m = 80; // discretisation parameter of the evaluation grid
144 xx = linspace(-0.5*%pi,2.5*%pi,m); yy = xx;
145 [XX,YY] = ndgrid(xx,yy);
146 zz1 = interp2d(XX,YY, x, y, C, "C0");
147 zz2 = interp2d(XX,YY, x, y, C, "by_zero");
148 zz3 = interp2d(XX,YY, x, y, C, "periodic");
149 zz4 = interp2d(XX,YY, x, y, C, "natural");
152 plot3d(xx, yy, zz1, flag=[2 6 4])
153 xtitle("extrapolation with the C0 outmode")
155 plot3d(xx, yy, zz2, flag=[2 6 4])
156 xtitle("extrapolation with the by_zero outmode")
158 plot3d(xx, yy, zz3, flag=[2 6 4])
159 xtitle("extrapolation with the periodic outmode")
161 plot3d(xx, yy, zz4, flag=[2 6 4])
162 xtitle("extrapolation with the natural outmode")
166 <refsection role="see also">
168 <simplelist type="inline">
170 <link linkend="splin2d">splin2d</link>