-->
<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="syslin" xml:lang="en">
+ xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="syslin" xml:lang="en">
<refnamediv>
<refname>syslin</refname>
<refpurpose>linear system definition</refpurpose>
</para>
<para>State-space representation:</para>
<programlisting><![CDATA[
-sl=syslin(dom,A,B,C [,D [,x0] ])
+sl = syslin(dom,A,B,C [,D [,x0] ])
]]></programlisting>
- <para>represents the system :</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../../mml/syslin_equation_1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ represents the system
+ </para>
+ <para>
+ <table align="center">
+ <tr><td align="right">s.X</td><td>= A.X + B.u</td></tr>
+ <tr><td align="right">y</td><td>= C.X + D.u</td></tr>
+ <tr><td align="right">x(0)</td><td>= x0</td></tr>
+ </table>
+ </para>
<para>
The output of <literal>syslin</literal> is a list of the following
form:
<?xml version="1.0" encoding="UTF-8"?>
-<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="syslin" xml:lang="fr">
+<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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="syslin" xml:lang="fr">
<refnamediv>
<refname>syslin</refname>
<refpurpose>définition d'un système dynamique linéaire</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Séquence d'appel</title>
- <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ])
- [sl]=syslin(dom,N,D)
- [sl]=syslin(dom,H)
+ <synopsis>
+ sl = syslin(dom, A, B, C)
+ sl = syslin(dom, A, B, C, D)
+ sl = syslin(dom, A, B, C, D, x0)
+ sl = syslin(dom, N, D)
+ sl = syslin(dom, H)
</synopsis>
</refsynopsisdiv>
<refsection>
</para>
<para>Représentation d'état :</para>
<programlisting role=""><![CDATA[
-sl=syslin(dom,A,B,C [,D [,x0] ])
+sl = syslin(dom,A,B,C [,D [,x0] ])
]]></programlisting>
- <para>représente le système :</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../../mml/syslin_equation_1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ représente le système
+ </para>
+ <para>
+ <table align="center">
+ <tr><td align="right">s.X</td><td>= A.X + B.u</td></tr>
+ <tr><td align="right">y</td><td>= C.X + D.u</td></tr>
+ <tr><td align="right">x(0)</td><td>= x0</td></tr>
+ </table>
+ </para>
<para>
La sortie de <literal>syslin</literal> est une liste de la forme
suivante : <literal>
* 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="syslin" xml:lang="ja">
+<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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="syslin" xml:lang="ja">
<refnamediv>
<refname>syslin</refname>
<refpurpose>線形システムを定義する</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ])
- [sl]=syslin(dom,N,D)
- [sl]=syslin(dom,H)
+ <synopsis>
+ sl = syslin(dom, A, B, C)
+ sl = syslin(dom, A, B, C, D)
+ sl = syslin(dom, A, B, C, D, x0)
+ sl = syslin(dom, N, D)
+ sl = syslin(dom, H)
</synopsis>
</refsynopsisdiv>
<refsection>
</para>
<para>状態空間表現:</para>
<programlisting role=""><![CDATA[
-sl=syslin(dom,A,B,C [,D [,x0] ])
+sl =syslin(dom,A,B,C [,D [,x0] ])
]]></programlisting>
- <para>は次のシステムを定義します :</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../../mml/syslin_equation_1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ は次のシステムを定義します
+ </para>
+ <para>
+ <table align="center">
+ <tr><td align="right">s.X</td><td>= A.X + B.u</td></tr>
+ <tr><td align="right">y</td><td>= C.X + D.u</td></tr>
+ <tr><td align="right">x(0)</td><td>= x0</td></tr>
+ </table>
+ </para>
<para>
<literal>syslin</literal> の出力は以下の形式のリストとなります:
<literal>sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)</literal>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mi>x</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mrow>
- <math:mrow>
- <math:mi>A</math:mi>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mi>x</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mrow>
- <math:mi>B</math:mi>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mi>u</math:mi>
- </math:mrow>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi>y</math:mi>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mrow>
- <math:mrow>
- <math:mi>C</math:mi>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mi>x</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mrow>
- <math:mi>D</math:mi>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mi>u</math:mi>
- </math:mrow>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mn>0</math:mn>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi math:fontstyle="italic">x0</math:mi>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- <math:annotation math:encoding="StarMath 5.0">stack {
-s cdot x = A cdot x + B cdot u #
-y = C cdot x + D cdot u #
-x(0) = x0
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
* 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:ns3="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="syslin" xml:lang="pt">
+<refentry 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="syslin" xml:lang="pt">
<refnamediv>
<refname>syslin</refname>
<refpurpose>definição de sistemas lineares</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Seqüência de Chamamento</title>
- <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ])
- [sl]=syslin(dom,N,D)
- [sl]=syslin(dom,H)
+ <synopsis>
+ sl = syslin(dom, A, B, C)
+ sl = syslin(dom, A, B, C, D)
+ sl = syslin(dom, A, B, C, D, x0)
+ sl = syslin(dom, N, D)
+ sl = syslin(dom, H)
</synopsis>
</refsynopsisdiv>
<refsection>
</para>
<para>Representação em espaço de estados:</para>
<programlisting><![CDATA[
-sl=syslin(dom,A,B,C [,D [,x0] ])
- ]]></programlisting>
- <para>Representa o sistema :</para>
- <programlisting><![CDATA[
- s x = A*x + B*u
- y = C*x + D*u
- x(0) = x0
+sl = syslin(dom,A,B,C [,D [,x0] ])
]]></programlisting>
<para>
+ Representa o sistema
+ </para>
+ <para>
+ <table align="center">
+ <tr><td align="right">s.X</td><td>= A.X + B.u</td></tr>
+ <tr><td align="right">y</td><td>= C.X + D.u</td></tr>
+ <tr><td align="right">x(0)</td><td>= x0</td></tr>
+ </table>
+ </para>
+ <para>
A saída de <literal>syslin</literal> é uma lista da seguinte forma:
<literal>sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)</literal>
. Note que <literal>D</literal> pode ser uma matriz de polinômios
* 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="syslin" xml:lang="ru">
+<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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="syslin" xml:lang="ru">
<refnamediv>
<refname>syslin</refname>
<refpurpose>определение линейной системы</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Синтаксис</title>
- <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ])
- [sl]=syslin(dom,N,D)
- [sl]=syslin(dom,H)
+ <synopsis>
+ sl = syslin(dom, A, B, C)
+ sl = syslin(dom, A, B, C, D)
+ sl = syslin(dom, A, B, C, D, x0)
+ sl = syslin(dom, N, D)
+ sl = syslin(dom, H)
</synopsis>
</refsynopsisdiv>
<refsection>
</para>
<para>Представление в виде пространства состояний:</para>
<programlisting><![CDATA[
-sl=syslin(dom,A,B,C [,D [,x0] ])
+sl = syslin(dom,A,B,C [,D [,x0] ])
]]></programlisting>
- <para>представляет систему :</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../../mml/syslin_equation_1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ представляет систему
+ </para>
+ <para>
+ <table align="center">
+ <tr><td align="right">s.X</td><td>= A.X + B.u</td></tr>
+ <tr><td align="right">y</td><td>= C.X + D.u</td></tr>
+ <tr><td align="right">x(0)</td><td>= x0</td></tr>
+ </table>
+ </para>
<para>
Выход <literal>syslin</literal> является списком следующей формы:
<literal>sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)</literal>
_LaTeX_FROMWSB.xml_6.png=edd38b21f4afb3b9bd3022d6594bc04d
_LaTeX_GENSIN_f.xml_1.png=df7110d93d01f93f0b54d9aa298e9635
_LaTeX_GENSQR_f.xml_1.png=746f663ac5f83b108763d9273b5f0e21
+_LaTeX_INTEGRAL_m.xml_1.png=a5506c60abcfda2944a96cba27140390
_LaTeX_INTRP2BLK_f.xml_1.png=205995f88b807b2f5268f7ef4053f049
_LaTeX_Inductor.xml_1.png=4e69417e6e0001a48e9abb40adf4be71
_LaTeX_PerteDP.xml_1.png=0aaa66cecfcbc25a73e52eb804020799
_LaTeX_bessel.xml_1.png=75b18324986d95f0ce739c723eff803f
_LaTeX_bessel.xml_2.png=91604506c2c5f30b0fab1ef9da180a89
_LaTeX_bessel.xml_3.png=5e4298e19e224d62ecbd7b6db2a80a31
+_LaTeX_beta.xml_1.png=985c0d6227e43f606488047fc5cd7ed0
+_LaTeX_binomial.xml_1.png=9f650a3f2c46ae011aa0d0e88f6f7ea4
_LaTeX_blockdiag.xml_1.png=26bcad469ac051064707c071f102456c
+_LaTeX_bsplin3val.xml_1.png=53180456233c6fead6c34e6f97a34b22
_LaTeX_bvode.xml_1.png=7d919bf8f33698749d88e30e99c33d7c
_LaTeX_bvode.xml_2.png=417a5301693b60807fa658e5ef9f9535
_LaTeX_bvode.xml_3.png=7e3c241c2dec821bd6c6fbd314fe4762
_LaTeX_delip.xml_1.png=37cb84bfae9d9238643106ec09d43388
_LaTeX_derivat.xml_1.png=884753c7c6265a65bb3803b66a0fec59
_LaTeX_derivat.xml_2.png=1f26913a320e0f43588894e762729d16
+_LaTeX_dlgamma.xml_1.png=0ea9c92ae3d7b2b814d8a4f769773cd8
_LaTeX_dst.xml_1.png=9cd22909f8eca591c252c206124e482f
_LaTeX_dst.xml_2.png=d35f934540a4804eb1475655fa5bd72b
_LaTeX_dst.xml_3.png=caa2ed7797bbc39b3a28cb86ce6ce771
_LaTeX_fft.xml_2.png=fa418662faf728120edcfff2a838bc8e
_LaTeX_filter.xml_1.png=f5eab130f2e7fd10b80a402952421a05
_LaTeX_floor.xml_ru_RU_1.png=1d5ba78bbbafd3226f371146bc348363
-_LaTeX_gamma.xml_1.png=960350f434595f88477814ea577e1359
+_LaTeX_gamma.xml_1.png=b5b5605d75f6d03d1d4dc6a8d817f78f
_LaTeX_gamma.xml_2.png=3c98a6fd836c18394e05939979158ebf
_LaTeX_gamma.xml_3.png=7aeff606c2524edc54dd085a53d673af
_LaTeX_gamma.xml_4.png=92502c47ca464eaea97178b3a176595d
_LaTeX_lattn.xml_2.png=9b7ed107c9acb432bc04c8505b9d96ce
_LaTeX_lattp.xml_1.png=7ba64bdfad2c53fb336f12443f4926c6
_LaTeX_leastsq.xml_1.png=3d52f8613fe5a2330979b844cd60da0b
+_LaTeX_legendre.xml_1.png=901934bfc7bb9f760c29ed2d475cd9e4
+_LaTeX_legendre.xml_2.png=7fb916ea1d3380604237466209a0e2f4
_LaTeX_levin.xml_1.png=7ba64bdfad2c53fb336f12443f4926c6
_LaTeX_levin.xml_2.png=f524fdf11d769933d7138962185e2606
_LaTeX_lft.xml_1.png=dc31caa4ca7b8e599933934a98dc2262
_LaTeX_lqr.xml_7.png=c5cd7e3f5ea453e798ef0d5e0cbe734c
_LaTeX_lqr.xml_8.png=1645328711c5c5406c0bff794c3afd40
_LaTeX_lqr.xml_9.png=c76c57d5a1f43cdcb78069c14fac2e48
+_LaTeX_lsq_splin.xml_1.png=2397b9dd603fb440564750130da26127
_LaTeX_nchoosek.xml_1.png=135b3c20a094e91dbe86ffaf4db0ffcc
_LaTeX_nchoosek.xml_2.png=5070bc471485a78578069bb4405225b4
_LaTeX_number_properties.xml_1.png=e44429416209c43ee6736fc6e4fb475e
_LaTeX_semidef.xml_2.png=9852782930e4e21c7115f35f70ab0966
_LaTeX_semidef.xml_3.png=2098b9e5e447ece7cd838247adcb262b
_LaTeX_semidef.xml_4.png=44e43279e4a6173003d2e27d996c92e5
+_LaTeX_splin.xml_1.png=af0a8f6474a7254de0fc7ea25a388f66
+_LaTeX_splin2d.xml_1.png=d8560d407972da202ab8e2e081ed5e7b
_LaTeX_ss2zp.xml_1.png=b03e0f26548784f834e2978d640ded24
_LaTeX_sum.xml_1.png=ef9aafe044823d17d08371770fa73e9f
_LaTeX_sum.xml_2.png=b4f505fff21a34a842c50a707dd320ee
smooth_1.png=ebef37585006626b34e13b95a3667e9d
splin2d_1.png=6e186e7bcf5d848fd9d8f354282f6489
splin2d_2.png=f36065c49f29e782c8b49e2958ad75c0
-splin3d_en_US_1.png=13b170241470ca4af84f26b2b0faf91c
+splin3d_en_US_1.png=924b5de4c3968e33949dd67fbeac437d
splin3d_fr_FR_1.png=13b170241470ca4af84f26b2b0faf91c
splin3d_ja_JP_1.png=13b170241470ca4af84f26b2b0faf91c
splin3d_pt_BR_1.png=13b170241470ca4af84f26b2b0faf91c
<?xml version="1.0" encoding="UTF-8"?>
-<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="bsplin3val" xml:lang="en">
+<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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="bsplin3val" xml:lang="en">
<refnamediv>
<refname>bsplin3val</refname>
<refpurpose>3d spline arbitrary derivative evaluation
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>[dfp]=bsplin3val(xp,yp,zp,tl,der)</synopsis>
+ <synopsis>dfp = bsplin3val(xp, yp, zp, tl, der)</synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
<literal>s</literal>. The derivative to compute is specified by the
argument <literal>der=[ox,oy,oz]</literal> :
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/bsplin3val_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18"
+ alt="dfp(i)=∂^{oxoyoz}/(∂^ox.∂^oy.∂^oz) s(xp(i),yp(i),zp(i))">
+ dfp(i)=\frac{\partial^{ox\,oy\,oz}}{\partial ^{ox}\,\partial ^{oy}\,\partial ^{oz}}
+ s\left(xp(i),yp(i),zp(i)\right)
+ </latex>
+ </para>
<para>
So <literal>der=[0 0 0]</literal> corresponds to
<emphasis>s</emphasis>, <literal>der=[1 0 0]</literal> to
</member>
</simplelist>
</refsection>
- <refsection>
- <title>History</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>previously, imaginary part of input arguments were implicitly ignored.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="interp" xml:lang="en">
+<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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="interp" xml:lang="en">
<refnamediv>
<refname>interp</refname>
<refpurpose>cubic spline evaluation function</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>[ yp [,yp1 [,yp2 [,yp3]]]] = interp(xp, x, y, d [, out_mode])</synopsis>
+ <synopsis>
+ [yp, yp1, yp2, yp3] = interp(xp, x, y, d)
+ [yp, yp1, yp2, yp3] = interp(xp, x, y, d, out_mode)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
<term>x,y</term>
<listitem>
<para>
- real vectors of same size <literal>n</literal>: Coordinates of data points on which the interpolation and the related cubic spline (called <literal>s(X)</literal> in the following) or sub-spline function is based and built.
+ real vectors of same size <literal>n</literal>: Coordinates of data points on
+ which the interpolation and the related cubic spline (called <literal>s(X)</literal>
+ in the following) or sub-spline function is based and built.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>d</term>
<listitem>
- <para>real vector of size(x): The derivative s'(x). Most often, s'(x) will be priorly estimated through the function splin(x, y,..)
+ <para>
+ real vector of size(x): The derivative s'(x). Most often, s'(x) will be
+ priorly estimated through the function splin(x, y,..)
</para>
</listitem>
</varlistentry>
<term>out_mode</term>
<listitem>
<para>
- (optional) string defining <literal>s(X)</literal> for <literal>X</literal> outside <latex>[x_1,\ x_n]</latex>.
+ (optional) string defining <literal>s(X)</literal> for <literal>X</literal>
+ outside [x<subscript>1</subscript>, x<subscript>n</subscript>].
Possible values: "by_zero" | "by_nan" | "C0" | "natural" | "linear" | "periodic"
</para>
</listitem>
<term>xp</term>
<listitem>
<para>
- real vector or matrix: abscissae at which <literal>Y</literal> is unknown and must be estimated with <literal>s(xp)</literal>
+ real vector or matrix: abscissae at which <literal>Y</literal> is unknown
+ and must be estimated with <literal>s(xp)</literal>
</para>
</listitem>
</varlistentry>
<term>yp</term>
<listitem>
<para>
- vector or matrix of size(xp): <literal>yp(i) = s(xp(i))</literal> or <literal>yp(i,j) = s(xp(i,j))</literal>
+ vector or matrix of size(xp): <literal>yp(i) = s(xp(i))</literal> or
+ <literal>yp(i,j) = s(xp(i,j))</literal>
</para>
</listitem>
</varlistentry>
<term>yp1, yp2, yp3</term>
<listitem>
<para>
- vectors (or matrices) of size(x): elementwise evaluation of the derivatives <literal>s'(xp)</literal>, <literal>s''(xp)</literal> and <literal>s'''(xp)</literal>.
+ vectors (or matrices) of size(x): elementwise evaluation of the derivatives
+ <literal>s'(xp)</literal>, <literal>s''(xp)</literal> and <literal>s'''(xp)</literal>.
</para>
</listitem>
</varlistentry>
<refsection>
<title>Description</title>
<para>
- The cubic spline function <literal>s(X)</literal> interpolating the <literal>(x,y)</literal> set of given points is a continuous and derivable piece-wise function defined over <latex>[x_1,\ x_n]</latex>. It consists of a set of cubic polynomials, each one <latex>p_k(X)</latex> being defined on <latex>[x_k,\ x_{k+1}]</latex> and connected in values and slopes to both its neighbours. Thus, we can state that for each <latex>X\ \in\ [x_k,\ x_{k+1}],\ s(X) = p_k(X)</latex>, such that
- <latex>s(x_i) = y_i,\quad \mbox{and}\quad s'(x_i) = d_i</latex>. Then, interp() evaluates <literal>s(X)</literal> (and <literal>s'(X), s''(X), s'''(X)</literal> if needed) at <literal>xp(i)</literal>, such that
+ The cubic spline function <literal>s(X)</literal> interpolating the <literal>(x,y)</literal>
+ set of given points is a continuous and derivable piece-wise function defined over
+ [x<subscript>1</subscript>, x<subscript>n</subscript>]. It consists of a set of cubic polynomials, each one
+ p<subscript>k</subscript>(X) being defined on [x<subscript>k</subscript>, x<subscript>k+1</subscript>]
+ and connected in values and slopes to both its neighbours. Thus, we can state that for each
+ <emphasis>
+ X ∈ [x<subscript>k</subscript>, x<subscript>k+1</subscript>],
+ s(X) = p<subscript>k</subscript>(X)
+ </emphasis>, such that
+ <emphasis>
+ s(x<subscript>i</subscript>) = y<subscript>i</subscript>, and
+ s'(x<subscript>i</subscript>) = d<subscript>i</subscript>
+ </emphasis>.
+ Then, interp() evaluates <literal>s(X)</literal> (and <literal>s'(X), s''(X), s'''(X)</literal>
+ if needed) at <literal>xp(i)</literal>, such that
+ </para>
+ <para>
+ <table align="center">
+ <tr align="center">
+ <td><emphasis>
+ yp<subscript>i</subscript> = s(xp<subscript>i</subscript>)
+ or
+ yp<subscript>ij</subscript> = s(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td><emphasis>
+ yp1<subscript>i</subscript> = s'(xp<subscript>i</subscript>)
+ or
+ yp1<subscript>ij</subscript> = s'(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td><emphasis>
+ yp2<subscript>i</subscript> = s''(xp<subscript>i</subscript>)
+ or
+ yp2<subscript>ij</subscript> = s''(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td><emphasis>
+ yp3<subscript>i</subscript> = s'''(xp<subscript>i</subscript>)
+ or
+ yp3<subscript>ij</subscript> = s'''(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ </table>
</para>
- <latex style="display" align="center"><![CDATA[ yp_i = s(xp_i) \quad or \quad yp_{i,j} = s(xp_{i,j}) ]]></latex>
- <latex style="display" align="center"><![CDATA[ yp1_i = s'(xp_i) \quad or \quad yp1_{i,j} = s'(xp_{i,j}) ]]></latex>
- <latex style="display" align="center"><![CDATA[ yp2_i = s''(xp_i) \quad or \quad yp2_{i,j} = s''(xp_{i,j}) ]]></latex>
- <latex style="display" align="center"><![CDATA[ yp3_i = s'''(xp_i) \quad or \quad yp3_{i,j} = s'''(xp_{i,j}) ]]></latex>
<para>
The <literal>out_mode</literal> parameter set the evaluation rule
- for extrapolation, i.e. for <literal>xp(i)</literal> outside <latex>[x_1,\ x_n]</latex> :
+ for extrapolation, i.e. for <literal>xp(i)</literal> outside [x<subscript>1</subscript>, x<subscript>n</subscript>] :
</para>
<variablelist>
<varlistentry>
<varlistentry>
<term>"C0"</term>
<listitem>
- <para>the extrapolation is defined as follows :</para>
- <latex style="display" align="center"><![CDATA[ xp_i < x_1 \Rightarrow yp_i = y_1 ]]></latex>
- <latex style="display" align="center"><![CDATA[ xp_i > x_n \Rightarrow yp_i = y_n ]]></latex>
+ <para>the extrapolation is defined as follows :
+ <table align="center">
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> < x<subscript>1</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>1</subscript>
+ </emphasis></td></tr>
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> > x<subscript>n</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>n</subscript>
+ </emphasis></td></tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"natural"</term>
<listitem>
<para>
- the extrapolation is defined as follows (<latex>p_i(x)</latex> being the polynomial defining
- <literal>s(X)</literal> on <latex>[x_i,\ x_{i+1}]</latex>)
+ the extrapolation is defined as follows (p<subscript>i</subscript>(x) being the polynomial defining
+ <literal>s(X)</literal> on [x<subscript>i</subscript>, x<subscript>i+1</subscript>]):
</para>
- <latex style="display" align="center"><![CDATA[ xp_i < x_1 \Rightarrow yp_i = p_1(xp_i) ]]></latex>
- <latex style="display" align="center"><![CDATA[ xp_i > x_n \Rightarrow yp_i = p_{n-1}(xp_i) ]]></latex>
+ <table align="center">
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> < x<subscript>1</subscript> ⇒
+ yp<subscript>i</subscript> = p<subscript>1</subscript>(xp<subscript>i</subscript>)
+ </emphasis></td></tr>
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> > x<subscript>n</subscript> ⇒
+ yp<subscript>i</subscript> = p<subscript>n-1</subscript>(xp<subscript>i</subscript>)
+ </emphasis></td></tr>
+ </table>
</listitem>
</varlistentry>
<varlistentry>
<term>"linear"</term>
<listitem>
<para>the extrapolation is defined as follows :</para>
- <latex style="display" align="center"><![CDATA[ xp_i < x_1 \Rightarrow yp_i = y_1 + d_1.(xp_i - x_1) ]]></latex>
- <latex style="display" align="center"><![CDATA[ xp_i > x_n \Rightarrow yp_i = y_n + d_n.(xp_i - x_n) ]]></latex>
+ <table align="center">
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> < x<subscript>1</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>1</subscript> +
+ d<subscript>1</subscript>.(xp<subscript>i</subscript> - x<subscript>1</subscript>)
+ </emphasis></td></tr>
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> > x<subscript>n</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>n</subscript> +
+ d<subscript>n</subscript>.(xp<subscript>i</subscript> - x<subscript>n</subscript>)
+ </emphasis></td></tr>
+ </table>
</listitem>
</varlistentry>
<varlistentry>
<para>
<literal>s(X)</literal> is extended by periodicity:
</para>
- <latex style="display" align="center"><![CDATA[ yp_i = s( x_1 + ( (xp_i-x_1)\ \mbox{modulo}\ [x_n-x_1] ) ) ]]></latex>
+ <table align="center">
+ <tr><td><emphasis>
+ yp<subscript>i</subscript> = s( x<subscript>1</subscript> +
+ (xp<subscript>i</subscript> - x<subscript>1</subscript>) modulo
+ (x<subscript>n</subscript>-x<subscript>1</subscript>) )
+ </emphasis></td></tr>
+ </table>
</listitem>
</varlistentry>
</variablelist>
</member>
</simplelist>
</refsection>
- <refsection>
- <title>History</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>previously, imaginary part of input arguments were implicitly ignored.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="linear_interpn" xml:lang="en">
+<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="linear_interpn" xml:lang="en">
<refnamediv>
<refname>linear_interpn</refname>
<refpurpose>n dimensional linear interpolation</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>vp = linear_interpn(xp1,xp2,..,xpn, x1, ..., xn, v [,out_mode])</synopsis>
+ <synopsis>
+ vp = linear_interpn(xp1,xp2,..,xpn, x1,...,xn, v)
+ vp = linear_interpn(xp1,xp2,..,xpn, x1,...,xn, v, out_mode)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
<term>vp</term>
<listitem>
<para>
- vector or matrix of same size than <literal>xp1, ...,
- xpn
+ vector or matrix of same size than <literal>xp1, ..., xpn
</literal>
</para>
</listitem>
and the values <literal>v</literal> of a function (says
<emphasis>f</emphasis>) at the grid points :
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/linear_interpn_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr><td>
+ v(i<subscript>1</subscript>,
+ i<subscript>2</subscript>,…,
+ i<subscript>n</subscript>) =
+ <emphasis>f</emphasis>(x1(i<subscript>1</subscript>),
+ x2(i<subscript>2</subscript>),…,
+ xn(i<subscript>n</subscript>))
+ </td>
+ </tr>
+ </table>
+ </para>
<para>this function computes the linear interpolant of
<emphasis>f</emphasis> from the grid (called <emphasis>s</emphasis> in the
following) at the points which coordinates are defined by the vectors (or
matrices) <literal>xp1, xp2, ..., xpn</literal>:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/linear_interpn_equation2.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr align="center">
+ <td>vp(i) = <emphasis>s</emphasis>(xp1(i), xp2(i), …, xpn(i))</td></tr>
+ <tr align="center"><td>or</td></tr>
+ <tr align="center">
+ <td>vp(i,j) = <emphasis>s</emphasis>(xp1(i,j), xp2(i,j), …, xpn(i,j))</td>
+ </tr>
+ </table>
+ in case the xpk are matrices.
+ </para>
<para>
The <literal>out_mode</literal> parameter set the evaluation rule
for extrapolation: if we note
<emphasis>Pi=(xp1(i),xp2(i),...,xpn(i))</emphasis> then
<literal>out_mode</literal> defines the evaluation rule when:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/linear_interpn_equation3.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr><td>P(i) ∉ [x1(1), x1($)] × [x2(1), x2($)] × … × [xn(1), xn($)]</td></tr>
+ </table>
+ </para>
<para>The different choices are:</para>
<variablelist>
<varlistentry>
</member>
</simplelist>
</refsection>
- <refsection>
- <title>History</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>previously, imaginary part of input arguments were implicitly ignored.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="lsq_splin" xml:lang="en">
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) R.F. Boisvert, C. De Boor (código da biblioteca FORTRAN CMLIB)
+ * Copyright (C) B. Pincon (interface Scilab)
+ *
+ * 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="lsq_splin" xml:lang="en">
<refnamediv>
<refname>lsq_splin</refname>
<refpurpose>weighted least squares cubic spline fitting</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>[y, d] = lsq_splin(xd, yd [, wd], x)</synopsis>
+ <synopsis>
+ [y, d] = lsq_splin(xd, yd, x)
+ [y, d] = lsq_splin(xd, yd, wd, x)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
breakpoints <emphasis>x1 < x2 < ... < xn</emphasis> then the
resulting spline <emphasis>s</emphasis> is such that:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/lsq_splin_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
<para>
- for all <emphasis>fin S</emphasis>, i.e. realizes the minimum of
+ <latex style="display" fontsize="18" alt="∑_k=1→m wd(k).[s(xd(k))-yd(k)]² ⬅ ∑_k=1→m wd(k).[f(xd(k))-yd(k)]²">
+ \sum_{k=1}^m wd(k)\left(s(xd(k))-yd(k)\right)^2 \,\leftarrow\,
+ \sum_{k=1}^m wd(k)\left(f(xd(k))-yd(k)\right)^2
+ </latex>
+ </para>
+ <para>
+ for all <emphasis>f in S</emphasis>, i.e. realizes the minimum of
the sum of the squared errors over all functions of
<emphasis>S</emphasis>.
</para>
<title>See also</title>
<simplelist type="inline">
<member>
+ <link linkend="backslash">backslash</link>
+ </member>
+ <member>
+ <link linkend="datafit">datafit</link>
+ </member>
+ <member>
<link linkend="interp">interp</link>
</member>
<member>
<?xml version="1.0" encoding="UTF-8"?>
-<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="splin" xml:lang="en">
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) F. N. Fritsch (pchim.f Slatec routine is used for monotonous interpolation)
+ * Copyright (C) B. Pincon (interface Scilab)
+ *
+ * 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="splin" xml:lang="en">
<refnamediv>
<refname>splin</refname>
<refpurpose>cubic spline interpolation</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>d = splin(x, y [,spline_type [, der]])</synopsis>
+ <synopsis>
+ d = splin(x, y)
+ d = splin(x, y, spline_type)
+ d = splin(x, y, spline_type, der)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
using the following conditions (considering n points
x1,...,xn):
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex fontsize="18" alt="s′′′(x₂⁻)=s′′′(x₂⁺), s′′′(x{n-1}⁻)=s′′′(x{n-1}⁺)">
+ s'''(x_2^-) = s'''(x_2^+) \\
+ s'''(x_{n-1}^-) = s'''(x_{n-1}^+)
+ </latex>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
points derivatives which must be provided as the last argument
<literal>der</literal>:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation2.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr align="center"><td><emphasis>s'(x<subscript>1</subscript>) = der(1)</emphasis></td></tr>
+ <tr align="center"><td><emphasis>s'(x<subscript>n</subscript>) = der(2)</emphasis></td></tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"natural"</term>
<listitem>
<para>the cubic spline is computed by using the conditions:</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation3.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr align="center"><td><emphasis>s''(x<subscript>1</subscript>) = 0</emphasis></td></tr>
+ <tr align="center"><td><emphasis>s''(x<subscript>n</subscript>) = 0</emphasis></td></tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
a periodic cubic spline is computed (<literal>y</literal> must
verify <emphasis>y1=yn</emphasis>) by using the conditions:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation4.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr align="center">
+ <td>
+ <emphasis>s'(x<subscript>1</subscript>) = s'(x<subscript>n</subscript>)</emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td>
+ <emphasis>s''(x<subscript>1</subscript>) = s''(x<subscript>n</subscript>)</emphasis>
+ </td>
+ </tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
the <emphasis>di</emphasis> such that <emphasis>s</emphasis> is
monotone on each interval:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation5.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <itemizedlist>
+ <listitem>
+ If y(i) ≤ y(i+1), s is increasing on <literal>[x(i), x(i+1)]</literal>.
+ </listitem>
+ <listitem>
+ If y(i) ≥ y(i+1), s is increasing on <literal>[x(i), x(i+1)]</literal>.
+ </listitem>
+ </itemizedlist>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<refsection>
<title>Remarks</title>
<para>
- From an accuracy point of view use essentially the <emphasis role="bold">clamped</emphasis> type if you know the end point derivatives,
- else use <emphasis role="bold">not_a_knot</emphasis>. But if the
- underlying approximated function is periodic use the <emphasis role="bold">periodic</emphasis> type. Under the good assumptions these
+ From an accuracy point of view use essentially the <emphasis role="bold">clamped</emphasis>
+ type if you know the end point derivatives, else use <emphasis role="bold">not_a_knot</emphasis>.
+ But if the underlying approximated function is periodic use the
+ <emphasis role="bold">periodic</emphasis> type. Under the good assumptions these
kind of splines got an <literal>O(h^4)</literal> asymptotic behavior of
the error. Don't use the <emphasis role="bold">natural</emphasis> type
unless the underlying function have zero second end points
derivatives.
</para>
<para>
- The <emphasis role="bold">monotone</emphasis>, <emphasis role="bold">fast</emphasis> (or <emphasis role="bold">fast_periodic</emphasis>) type may be useful in some cases,
+ The <emphasis role="bold">monotone</emphasis>, <emphasis role="bold">fast</emphasis>
+ (or <emphasis role="bold">fast_periodic</emphasis>) type may be useful in some cases,
for instance to limit oscillations (these kind of sub-splines have an
<literal>O(h^3)</literal> asymptotic behavior of the error).
</para>
If <emphasis>n=2</emphasis> (and <literal>spline_type</literal> is
not <emphasis role="bold">clamped</emphasis>) linear interpolation is
used. If <emphasis>n=3</emphasis> and <literal>spline_type</literal> is
- <emphasis role="bold">not_a_knot</emphasis>, then a <emphasis role="bold">fast</emphasis> sub-spline type is in fact computed.
+ <emphasis role="bold">not_a_knot</emphasis>, then a <emphasis role="bold">fast</emphasis>
+ sub-spline type is in fact computed.
</para>
</refsection>
<refsection>
</member>
</simplelist>
</refsection>
- <refsection>
- <title>History</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>previously, imaginary part of input arguments were implicitly ignored.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="splin2d" xml:lang="en">
+<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="splin2d" xml:lang="en">
<refnamediv>
<refname>splin2d</refname>
<refpurpose>bicubic spline gridded 2d interpolation</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>C = splin2d(x, y, z, [,spline_type])</synopsis>
+ <synopsis>
+ C = splin2d(x, y, z)
+ C = splin2d(x, y, z, spline_type)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
<variablelist>
<varlistentry>
- <term>x</term>
+ <term>x, y</term>
<listitem>
- <para> a 1-by-nx matrix of doubles, the x coordinate of the interpolation points. We must have x(i)<x(i+1), for i=1,2,...,nx-1.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>y</term>
- <listitem>
- <para>a 1-by-ny matrix of doubles, the y coordinate of the interpolation points.
- We must have y(i)<y(i+1), for i=1,2,...,ny-1.
+ <para>
+ rows of nx and ny real numbers, in strictly increasing order: the
+ <varname>x</varname> and <varname>y</varname> coordinates building
+ the grid of the interpolation points (nodes).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>z</term>
<listitem>
- <para>a nx-by-ny matrix of doubles, the function values.
+ <para>a nx-by-ny matrix of real numbers: the function values.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>spline_type</term>
<listitem>
- <para>a 1-by-1 matrix of strings, the typof of spline to compute.
- Available values are spline_type="not_a_knot" and spline_type="periodic".
+ <para>"not_a_knot" or "periodic" string: the type of spline to compute.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>C</term>
<listitem>
- <para>the coefficients of the bicubic patches. This output argument of splin2d is the input argument of the interp2d function.
+ <para>
+ the coefficients of the bicubic patches. This output argument of splin2d
+ is the input argument of the interp2d function.
</para>
</listitem>
</varlistentry>
<title>Description</title>
<para>This function computes a bicubic spline or sub-spline
<emphasis>s</emphasis> which interpolates the
- <emphasis>(xi,yj,zij)</emphasis> points, ie, we have
- <emphasis>s(xi,yj)=zij</emphasis> for all <emphasis>i=1,..,nx</emphasis>
+ <emphasis>(x<subscript>i </subscript>,y<subscript>j </subscript>,z<subscript>ij </subscript>)</emphasis>
+ points, ie, we have
+ <emphasis>s(x<subscript>i </subscript>,y<subscript>j </subscript>)=z<subscript>ij </subscript></emphasis>
+ for all <emphasis>i=1,..,nx</emphasis>
and <emphasis>j=1,..,ny</emphasis>. The resulting spline
<emphasis>s</emphasis> is defined by the triplet
- <literal>(x,y,C)</literal> where <literal>C</literal> is the vector (of
+ <literal>(x,y,C)</literal> where <varname>C</varname> is the vector (of
length 16(nx-1)(ny-1)) with the coefficients of each of the (nx-1)(ny-1)
- bicubic patches : on <emphasis>[x(i) x(i+1)]x[y(j) y(j+1)]</emphasis>,
- <emphasis>s</emphasis> is defined by :
+ bicubic patches : on <emphasis>[x(i),x(i+1)] × [y(j),y(j+1)]</emphasis>,
+ <emphasis>s</emphasis> is defined by
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin2d_equation_1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <latex style="display" fontsize="18"
+ alt="s(x,y) = ∑_m=1→4 ∑_n=1→4 c_ij(m,n).(x-x_i)^{m-1}.(y-y_j)^{n-1}">
+ s(x,y)=\sum_{k=1}^4\sum_{l=1}^4 c_{ij}(k,l)\cdot(x-x_i)^{k-1}\cdot(y-y_j)^{l-1}
+ </latex>
<para>
- The evaluation of <emphasis>s</emphasis> at some points must be done
- by the <link linkend="interp2d">interp2d</link> function. Several kind of
- splines may be computed by selecting the appropriate
- <literal>spline_type</literal> parameter. The method used to compute the
- bicubic spline (or sub-spline) is the old fashioned one 's, i.e. to
- compute on each grid point <emphasis>(xi,yj)</emphasis> an approximation
- of the first derivatives <emphasis>ds/dx(xi,yj)</emphasis> and
- <emphasis>ds/dy(xi,yj)</emphasis> and of the cross derivative
- <emphasis>d2s/dxdy(xi,yj)</emphasis>. Those derivatives are computed by
- the mean of 1d spline schemes leading to a C2 function
- (<emphasis>s</emphasis> is twice continuously differentiable) or by the
- mean of a local approximation scheme leading to a C1 function only. This
- scheme is selected with the <literal>spline_type</literal> parameter (see
- <link linkend="splin">splin</link> for details) :
+ The evaluation of <emphasis>s</emphasis> at some points must be done by the
+ <link linkend="interp2d">interp2d</link> function. Several kind of splines may be
+ computed by selecting the appropriate <varname>spline_type</varname> parameter.
+ The method used to compute the bicubic spline (or sub-spline) is the old fashioned
+ one's, i.e. to compute on each grid point
+ <emphasis>(x<subscript>i </subscript>,y<subscript>j </subscript>)</emphasis>
+ an approximation of the first derivatives
+ <emphasis>ds/dx(x<subscript>i </subscript>,y<subscript>j </subscript>)</emphasis> and
+ <emphasis>ds/dy(x<subscript>i </subscript>,y<subscript>j </subscript>)</emphasis> and
+ of the cross derivative
+ <emphasis>d2s/dxdy(x<subscript>i </subscript>,y<subscript>j </subscript>)</emphasis>.
+ Those derivatives are computed by the mean of 1d spline schemes leading to a C2 function
+ (<emphasis>s</emphasis> is twice continuously differentiable) or by the mean of a local
+ approximation scheme leading to a C1 function only. This scheme is selected with the
+ <varname>spline_type</varname> parameter (see <link linkend="splin">splin</link> for
+ details) :
</para>
<variablelist>
<varlistentry>
<refsection>
<title>Remarks</title>
<para>
- From an accuracy point of view use essentially the <emphasis role="bold">not_a_knot</emphasis> type or <emphasis role="bold">periodic</emphasis> type if the underlying interpolated
- function is periodic.
+ From an accuracy point of view use essentially the
+ <emphasis role="bold">not_a_knot</emphasis> type or
+ <emphasis role="bold">periodic</emphasis> type if the underlying interpolated function
+ is periodic.
</para>
<para>
- The <emphasis role="bold">natural</emphasis>, <emphasis role="bold">monotone</emphasis>, <emphasis role="bold">fast</emphasis> (or
- <emphasis role="bold">fast_periodic</emphasis>) type may be useful in some
- cases, for instance to limit oscillations (<emphasis role="bold">monotone</emphasis> being the most powerful for that).
+ The <emphasis role="bold">natural</emphasis>, <emphasis role="bold">monotone</emphasis>,
+ <emphasis role="bold">fast</emphasis> (or <emphasis role="bold">fast_periodic</emphasis>)
+ type may be useful in some cases, for instance to limit oscillations
+ (<emphasis role="bold">monotone</emphasis> being the most powerful for that).
</para>
<para>To get the coefficients of the bi-cubic patches in a more friendly
way you can use <literal>c = matrix(C, [4,4,nx-1,ny-1])</literal> then
the coefficient <emphasis>(k,l)</emphasis> of the patch
<emphasis>(i,j)</emphasis> (see equation here before) is stored at
- <literal>c(k,l,i,j)</literal>. Nevertheless the <link linkend="interp2d">interp2d</link> function wait for the big vector
- <literal>C</literal> and not for the hypermatrix <literal>c</literal>
- (note that one can easily retrieve <literal>C</literal> from
+ <literal>c(k,l,i,j)</literal>. Nevertheless the <link linkend="interp2d">interp2d</link>
+ function wait for the big vector <varname>C</varname> and not for the hypermatrix
+ <literal>c</literal> (note that one can easily retrieve <varname>C</varname> from
<literal>c</literal> with <literal>C=c(:)</literal>).
</para>
</refsection>
subplot(2,2,4)
plot3d1(xp, yp, ZP4, flag=[2 2 4])
xtitle("monotone")
-show_window()
]]></programlisting>
<scilab:image>
// example 2 : different interpolation functions on random data
</member>
</simplelist>
</refsection>
- <refsection>
- <title>History</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>previously, imaginary part of input arguments were implicitly ignored.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="splin3d" xml:lang="en">
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) R.F. Boisvert, C. De Boor (código da biblioteca FORTRAN CMLIB)
+ * Copyright (C) B. Pincon (interface Scilab)
+ *
+ * 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="splin3d" xml:lang="en">
<refnamediv>
<refname>splin3d</refname>
<refpurpose>spline gridded 3d interpolation</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>tl = splin3d(x, y, z, v, [order])</synopsis>
+ <synopsis>
+ tl = splin3d(x, y, z, v)
+ tl = splin3d(x, y, z, v, order)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
in a B-spline-tensor representation of <emphasis>s</emphasis>. The
evaluation of <emphasis>s</emphasis> at some points must be done by the
<link linkend="interp3d">interp3d</link> function (to compute
- <emphasis>s</emphasis> and its first derivatives) or by the <link linkend="bsplin3val">bsplin3val</link> function (to compute an arbitrary
+ <emphasis>s</emphasis> and its first derivatives) or by the
+ <link linkend="bsplin3val">bsplin3val</link> function (to compute an arbitrary
derivative of <emphasis>s</emphasis>) . Several kind of splines may be
computed by selecting the order of the spline in each direction
<literal>order=[kx,ky,kz]</literal>.
</para>
- </refsection>
- <refsection>
- <title>Remark</title>
- <para>This function works under the conditions:</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin3d_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
- <para>an error being issued when they are not respected.</para>
+ <para>
+ Remark : This function works under the conditions
+ <table align="center" style="float:center">
+ <tr><td>nx, ny, nz ≥ 3</td></tr>
+ <tr><td>2 ≤ kx < nx</td></tr>
+ <tr><td>2 ≤ ky < ny</td></tr>
+ <tr><td>2 ≤ kz < nz</td></tr>
+ </table>
+ </para>
+ <para>An error is yielded when they are not respected.</para>
</refsection>
<refsection>
<title>Examples</title>
vp_interp = interp3d(xp,yp,zp, tl);
er = max(abs(vp_exact - vp_interp))
// now retry with n=20 and see the error
- ]]></programlisting>
-
+ ]]></programlisting>
+ <para/>
<programlisting role="example"><![CDATA[
-
// example 2 (see linear_interpn help page which have the
// same example with trilinear interpolation)
// =============================================================================
-exec("SCI/modules/interpolation/demos/interp_demo.sci")
+exec("SCI/modules/interpolation/demos/interp_demo.sci", -1);
func = "v=(x-0.5).^2 + (y-0.5).^3 + (z-0.5).^2";
deff("v=f(x,y,z)",func);
n = 5;
direction = ["z=" "z=" "z=" "x=" "y="];
val = [ 0.1 0.5 0.9 0.5 0.5];
ebox = [0 1 0 1 0 1];
-XF=[]; YF=[]; ZF=[]; VF=[];
+[XF, YF, ZF, VF] = ([], [], [], []);
for i = 1:length(val)
[Xm,Xp,Ym,Yp,Zm,Zp] = slice_parallelepiped(direction(i), val(i), ebox, m, m, m);
Vm = interp3d(Xm,Ym,Zm, tl);
[xf,yf,zf,vf] = nf3dq(Xp,Yp,Zp,Vp,1);
XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
end
-nb_col = 128;
-vmin = min(VF); vmax = max(VF);
+
+clf
+[nb_col, vmin, vmax] = (128, min(VF), max(VF));
color_example = dsearch(VF,linspace(vmin,vmax,nb_col+1));
gcf().color_map = jetcolormap(nb_col);
-clf();
gca().hiddencolor = gca().background;
colorbar(vmin,vmax)
plot3d(XF, YF, list(ZF,color_example), flag=[-1 6 4])
-xtitle("3d spline interpolation of "+func)
-show_window()
- ]]></programlisting>
+title("3d spline interpolation of "+func, "fontsize",3)
+ ]]></programlisting>
<scilab:image localized="true">
- exec("SCI/modules/interpolation/demos/interp_demo.sci")
+ exec("SCI/modules/interpolation/demos/interp_demo.sci", -1);
func = "v=(x-0.5).^2 + (y-0.5).^3 + (z-0.5).^2";
deff("v=f(x,y,z)",func);
n = 5;
</member>
</simplelist>
</refsection>
- <refsection>
- <title>History</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>previously, imaginary part of input arguments were implicitly ignored.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="bsplin3val" xml:lang="ja">
+<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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="bsplin3val" xml:lang="ja">
<refnamediv>
<refname>bsplin3val</refname>
<refpurpose>3次元スプラインの任意微分評価関数</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>[dfp]=bsplin3val(xp,yp,zp,tl,der)</synopsis>
+ <synopsis>dfp = bsplin3val(xp, yp, zp, tl, der)</synopsis>
</refsynopsisdiv>
<refsection>
<title>引数</title>
計算する微分値は引数<literal>der=[ox,oy,oz]</literal>で
指定されます :
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/bsplin3val_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18"
+ alt="dfp(i)=∂^{oxoyoz}/(∂^ox.∂^oy.∂^oz) s(xp(i),yp(i),zp(i))">
+ dfp(i)=\frac{\partial^{ox\,oy\,oz}}{\partial ^{ox}\,\partial ^{oy}\,\partial ^{oz}}
+ s\left(xp(i),yp(i),zp(i)\right)
+ </latex>
+ </para>
<para>
この場合,<literal>der=[0 0 0]</literal> は
<emphasis>s</emphasis>, <literal>der=[1 0 0]</literal>は
</member>
</simplelist>
</refsection>
- <refsection>
- <title>履歴</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>
- 以前は,入力引数の虚部は暗黙的に無視されていました.
- </revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="interp" xml:lang="ja">
+<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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="interp" xml:lang="ja">
<refnamediv>
<refname>interp</refname>
<refpurpose>3次スプライン評価関数</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>[yp [,yp1 [,yp2 [,yp3]]]]=interp(xp, x, y, d [, out_mode])</synopsis>
+ <synopsis>
+ [yp, yp1, yp2, yp3] = interp(xp, x, y, d)
+ [yp, yp1, yp2, yp3] = interp(xp, x, y, d, out_mode)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>引数</title>
<term>out_mode</term>
<listitem>
<para>
- (オプション)<latex>[x_1,\ x_n]</latex>の外側で.
+ (オプション)[x<subscript>1</subscript>, x<subscript>n</subscript>]の外側で.
<literal>X</literal> に対する<literal>s(X)</literal>を定義します.
利用可能な値: "by_zero" | "by_nan" | "C0" | "natural" | "linear" | "periodic"
</para>
<title>説明</title>
<para>
指定した点の<literal>(x,y)</literal> 集合を補間する3次スプライン関数 <literal>s(X)</literal>
- は,<latex>[x_1,\ x_n]</latex>の範囲で定義された,連続で微分可能な関数です.
- これは,3次元多項式の集合からなり,その各々は<latex>p_k(X)</latex>が
- <latex>[x_k,\ x_{k+1}]</latex>で定義され,
- 隣接する多項式と値と傾きで接続されています.
- つまり, <latex>X\ \in\ [x_k,\ x_{k+1}],\ s(X) = p_k(X)</latex>の各々について,
- <latex>s(x_i) = y_i,\quad \mbox{and}\quad s'(x_i) = d_i</latex>を記述できます.
+ は,[x<subscript>1</subscript>, x<subscript>n</subscript>]の範囲で定義された,連続で微分可能な関数です.
+ これは,3次元多項式の集合からなり,その各々はp<subscript>k</subscript>(X)が
+ [x<subscript>k</subscript>, x<subscript>k+1</subscript>]で定義され,
+ 隣接する多項式と値と傾きで接続されています. つまり,
+ <emphasis>
+ X ∈ [x<subscript>k</subscript>, x<subscript>k+1</subscript>],
+ s(X) = p<subscript>k</subscript>(X)
+ </emphasis> の各々について,
+ <emphasis>
+ s(x<subscript>i</subscript>) = y<subscript>i</subscript>, and
+ s'(x<subscript>i</subscript>) = d<subscript>i</subscript>
+ </emphasis>
+ を記述できます.
+ </para>
+ <para>
+ <table align="center">
+ <tr align="center">
+ <td><emphasis>
+ yp<subscript>i</subscript> = s(xp<subscript>i</subscript>)
+ or
+ yp<subscript>ij</subscript> = s(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td><emphasis>
+ yp1<subscript>i</subscript> = s'(xp<subscript>i</subscript>)
+ or
+ yp1<subscript>ij</subscript> = s'(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td><emphasis>
+ yp2<subscript>i</subscript> = s''(xp<subscript>i</subscript>)
+ or
+ yp2<subscript>ij</subscript> = s''(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td><emphasis>
+ yp3<subscript>i</subscript> = s'''(xp<subscript>i</subscript>)
+ or
+ yp3<subscript>ij</subscript> = s'''(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ </table>
</para>
- <latex style="display" align="center"><![CDATA[ yp_i = s(xp_i) \quad or \quad yp_{i,j} = s(xp_{i,j}) ]]></latex>
- <latex style="display" align="center"><![CDATA[ yp1_i = s'(xp_i) \quad or \quad yp1_{i,j} = s'(xp_{i,j}) ]]></latex>
- <latex style="display" align="center"><![CDATA[ yp2_i = s''(xp_i) \quad or \quad yp2_{i,j} = s''(xp_{i,j}) ]]></latex>
- <latex style="display" align="center"><![CDATA[ yp3_i = s'''(xp_i) \quad or \quad yp3_{i,j} = s'''(xp_{i,j}) ]]></latex>
<para>
<literal>out_mode</literal>パラメータは
- 補外,すなわち,<literal>xp(i)</literal>が<latex>[x_1,\ x_n]</latex> の範囲にない場合
+ 補外,すなわち,<literal>xp(i)</literal>が[x<subscript>1</subscript>, x<subscript>n</subscript>] の範囲にない場合
の評価規則を設定します :
</para>
<variablelist>
<varlistentry>
<term>"C0"</term>
<listitem>
- <para>以下のように定義される補外 :</para>
- <latex style="display" align="center"><![CDATA[ xp_i < x_1 \Rightarrow yp_i = y_1 ]]></latex>
- <latex style="display" align="center"><![CDATA[ xp_i > x_n \Rightarrow yp_i = y_n ]]></latex>
+ <para>以下のように定義される補外 :
+ <table align="center">
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> < x<subscript>1</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>1</subscript>
+ </emphasis></td></tr>
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> > x<subscript>n</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>n</subscript>
+ </emphasis></td></tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"natural"</term>
<listitem>
<para>以下のように定義される補外
- (<latex>p_i(x)</latex> は,<latex>[x_i,\ x_{i+1}]</latex>
+ (p<subscript>i</subscript>(x) は,[x<subscript>i</subscript>, x<subscript>i+1</subscript>]
において<literal>s(X)</literal>を定義する多項式です)
</para>
- <latex style="display" align="center"><![CDATA[ xp_i < x_1 \Rightarrow yp_i = p_1(xp_i) ]]></latex>
- <latex style="display" align="center"><![CDATA[ xp_i > x_n \Rightarrow yp_i = p_{n-1}(xp_i) ]]></latex>
+ <table align="center">
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> < x<subscript>1</subscript> ⇒
+ yp<subscript>i</subscript> = p<subscript>1</subscript>(xp<subscript>i</subscript>)
+ </emphasis></td></tr>
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> > x<subscript>n</subscript> ⇒
+ yp<subscript>i</subscript> = p<subscript>n-1</subscript>(xp<subscript>i</subscript>)
+ </emphasis></td></tr>
+ </table>
</listitem>
</varlistentry>
<varlistentry>
<term>"linear"</term>
<listitem>
<para>補外は以下のように定義されます :</para>
- <latex style="display" align="center"><![CDATA[ xp_i < x_1 \Rightarrow yp_i = y_1 + d_1.(xp_i - x_1) ]]></latex>
- <latex style="display" align="center"><![CDATA[ xp_i > x_n \Rightarrow yp_i = y_n + d_n.(xp_i - x_n) ]]></latex>
+ <table align="center">
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> < x<subscript>1</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>1</subscript> +
+ d<subscript>1</subscript>.(xp<subscript>i</subscript> - x<subscript>1</subscript>)
+ </emphasis></td></tr>
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> > x<subscript>n</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>n</subscript> +
+ d<subscript>n</subscript>.(xp<subscript>i</subscript> - x<subscript>n</subscript>)
+ </emphasis></td></tr>
+ </table>
</listitem>
</varlistentry>
<varlistentry>
<para>
<literal>s</literal> は周期性により拡張されます.
</para>
- <latex style="display" align="center"><![CDATA[ yp_i = s( x_1 + ( (xp_i-x_1)\ \mbox{modulo}\ [x_n-x_1] ) ) ]]></latex>
+ <table align="center">
+ <tr><td><emphasis>
+ yp<subscript>i</subscript> = s( x<subscript>1</subscript> + (xp<subscript>i</subscript> - x<subscript>1</subscript>) modulo (x<subscript>n</subscript>-x<subscript>1</subscript>) )
+ </emphasis></td></tr>
+ </table>
</listitem>
</varlistentry>
</variablelist>
</member>
</simplelist>
</refsection>
- <refsection>
- <title>履歴</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>以前では, 入力引数の虚部は暗黙のうちに無視されていました.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="linear_interpn" xml:lang="ja">
+<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="linear_interpn" xml:lang="ja">
<refnamediv>
<refname>linear_interpn</refname>
<refpurpose>n 次元線形補間</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>vp = linear_interpn(xp1,xp2,..,xpn, x1, ..., xn, v [,out_mode])</synopsis>
+ <synopsis>
+ vp = linear_interpn(xp1,xp2,..,xpn, x1,...,xn, v)
+ vp = linear_interpn(xp1,xp2,..,xpn, x1,...,xn, v, out_mode)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>引数</title>
n個のベクトル<literal>x1 ,x2,..., xn</literal>で定義された n次元グリッド
とそのグリッドにおける関数(例えば <emphasis>f</emphasis>)の値を次のように指定すると:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/linear_interpn_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr><td>
+ v(i<subscript>1</subscript>,
+ i<subscript>2</subscript>,…,
+ i<subscript>n</subscript>) =
+ <emphasis>f</emphasis>(x1(i<subscript>1</subscript>),
+ x2(i<subscript>2</subscript>),…,
+ xn(i<subscript>n</subscript>))
+ </td>
+ </tr>
+ </table>
+ </para>
<para>
この関数は, ベクトル<literal>xp1, xp2, ..., xpn</literal>(または行列)により定義された座標にある
(以下 <emphasis>s</emphasis> と呼ぶ)グリッドから次のように
<emphasis>f</emphasis>の線形補間を計算します:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/linear_interpn_equation2.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr align="center">
+ <td>vp(i) = <emphasis>s</emphasis>(xp1(i), xp2(i), …, xpn(i))</td></tr>
+ <tr align="center"><td>or</td></tr>
+ <tr align="center">
+ <td>vp(i,j) = <emphasis>s</emphasis>(xp1(i,j), xp2(i,j), …, xpn(i,j))</td>
+ </tr>
+ </table>
+ in case the xpk are matrices.
+ </para>
<para>
<literal>out_mode</literal> パラメータは捕外の評価規則を設定します:
<emphasis>Pi=(xp1(i),xp2(i),...,xpn(i))</emphasis> とすると,
<literal>out_mode</literal> は次の場合に評価規則を定義します:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/linear_interpn_equation3.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr><td>P(i) ∉ [x1(1), x1($)] × [x2(1), x2($)] × … × [xn(1), xn($)]</td></tr>
+ </table>
+ </para>
<para>その他の選択肢は以下があります:</para>
<variablelist>
<varlistentry>
</member>
</simplelist>
</refsection>
- <refsection>
- <title>履歴</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>以前では, 入力引数の虚部は暗黙のうちに無視されていました.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="lsq_splin" xml:lang="ja">
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) R.F. Boisvert, C. De Boor (código da biblioteca FORTRAN CMLIB)
+ * Copyright (C) B. Pincon (interface Scilab)
+ *
+ * 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="lsq_splin" xml:lang="ja">
<refnamediv>
<refname>lsq_splin</refname>
<refpurpose>重み付き最小二乗三次スプラインフィッティング</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>[y, d] = lsq_splin(xd, yd [, wd], x)</synopsis>
+ <synopsis>
+ [y, d] = lsq_splin(xd, yd, x)
+ [y, d] = lsq_splin(xd, yd, wd, x)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>パラメータ</title>
あらゆる3次スプライン関数の空間とする場合,
得られるスプライン <emphasis>s</emphasis>は次のようになります:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/lsq_splin_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18" alt="∑_k=1→m wd(k).[s(xd(k))-yd(k)]² ⬅ ∑_k=1→m wd(k).[f(xd(k))-yd(k)]²">
+ \sum_{k=1}^m wd(k)\left(s(xd(k))-yd(k)\right)^2 \,\leftarrow\,
+ \sum_{k=1}^m wd(k)\left(f(xd(k))-yd(k)\right)^2
+ </latex>
+ </para>
<para>
ただし,<emphasis>fはSの中の任意の値</emphasis>.
すなわち,<emphasis>S</emphasis>の任意の関数について,
<title>参照</title>
<simplelist type="inline">
<member>
+ <link linkend="backslash">backslash</link>
+ </member>
+ <member>
+ <link linkend="datafit">datafit</link>
+ </member>
+ <member>
<link linkend="interp">interp</link>
</member>
<member>
<?xml version="1.0" encoding="UTF-8"?>
-<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="splin" xml:lang="ja">
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) F. N. Fritsch (pchim.f Slatec routine is used for monotonous interpolation)
+ * Copyright (C) B. Pincon (interface Scilab)
+ *
+ * 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="splin" xml:lang="ja">
<refnamediv>
<refname>splin</refname>
<refpurpose>3次スプライン補間</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>d = splin(x, y [,spline_type [, der]])</synopsis>
+ <synopsis>
+ d = splin(x, y)
+ d = splin(x, y, spline_type)
+ d = splin(x, y, spline_type, der)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>引数</title>
<para>これはデフォルトで,
3次スプラインが以下の条件 (n個の点 x1,...,xnを考慮)により計算されます:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex fontsize="18" alt="s′′′(x₂⁻)=s′′′(x₂⁺), s′′′(x{n-1}⁻)=s′′′(x{n-1}⁺)">
+ s'''(x_2^-) = s'''(x_2^+) \\
+ s'''(x_{n-1}^-) = s'''(x_{n-1}^+)
+ </latex>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
を用いて計算されます.この微係数は最後の引数<literal>der</literal>
で指定されます:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation2.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr align="center"><td><emphasis>s'(x<subscript>1</subscript>) = der(1)</emphasis></td></tr>
+ <tr align="center"><td><emphasis>s'(x<subscript>n</subscript>) = der(2)</emphasis></td></tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"natural"</term>
<listitem>
<para>3次スプラインは次の条件により計算されます:</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation3.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr align="center"><td><emphasis>s''(x<subscript>1</subscript>) = 0</emphasis></td></tr>
+ <tr align="center"><td><emphasis>s''(x<subscript>n</subscript>) = 0</emphasis></td></tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<para>周期的3次スプラインは次の条件により計算されます
(<literal>y</literal>は<emphasis>y1=yn</emphasis>を確認する必要があります):
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation4.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <table align="center">
+ <tr align="center">
+ <td>
+ <emphasis>s'(x<subscript>1</subscript>) = s'(x<subscript>n</subscript>)</emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td>
+ <emphasis>s''(x<subscript>1</subscript>) = s''(x<subscript>n</subscript>)</emphasis>
+ </td>
+ </tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
各区間で単調となるような<emphasis>di</emphasis>
に関するローカルなスキームにより計算されます:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin_equation5.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <itemizedlist>
+ <listitem>
+ If y(i) ≤ y(i+1), s is increasing on <literal>[x(i), x(i+1)]</literal>.
+ </listitem>
+ <listitem>
+ If y(i) ≥ y(i+1), s is increasing on <literal>[x(i), x(i+1)]</literal>.
+ </listitem>
+ </itemizedlist>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
</member>
</simplelist>
</refsection>
- <refsection>
- <title>履歴</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>以前では, 入力引数の虚部は暗黙のうちに無視されていました.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="splin2d" xml:lang="ja">
+<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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="splin2d" xml:lang="ja">
<refnamediv>
<refname>splin2d</refname>
<refpurpose>双3次スプラインのグリッド2次元補間</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>C = splin2d(x, y, z, [,spline_type])</synopsis>
+ <synopsis>
+ C = splin2d(x, y, z)
+ C = splin2d(x, y, z, spline_type)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>引数</title>
(長さ16(nx-1)(ny-1)の)ベクトルです,
<emphasis>s</emphasis>は次のように定義されます :
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin2d_equation_1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18" alt="s(x,y) = ∑_m=1→4 ∑_n=1→4 c_ij(m,n).(x-x_i)^{m-1}.(y-y_j)^{n-1}">
+ s(x,y)=\sum_{k=1}^4\sum_{l=1}^4 c_{ij}(k,l)\cdot(x-x_i)^{k-1}\cdot(y-y_j)^{l-1}
+ </latex>
+ </para>
<para>
いくつかの点で<link linkend="interp2d">interp2d</link>関数により
<emphasis>s</emphasis>の評価を行う必要があります.
基本となる補間関数に周期性がある場合には<emphasis role="bold">periodic</emphasis>型を使用してください.
</para>
<para>
- <emphasis role="bold">natural</emphasis>, <emphasis role="bold">monotone</emphasis>, <emphasis role="bold">fast</emphasis> (または
+ <emphasis role="bold">natural</emphasis>, <emphasis role="bold">monotone</emphasis>,
+ <emphasis role="bold">fast</emphasis> (または
<emphasis role="bold">fast_periodic</emphasis>) 型は,
例えば発振を防止したい場合(<emphasis role="bold">monotone</emphasis>
がこの用途には最も強力です)に有用です.
subplot(2,2,4)
plot3d1(xp, yp, ZP4, flag=[2 2 4])
xtitle("monotone")
-show_window()
]]></programlisting>
<scilab:image>
// example 2 : different interpolation functions on random data
</member>
</simplelist>
</refsection>
- <refsection>
- <title>履歴</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>以前では, 入力引数の虚部は暗黙のうちに無視されていました.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<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="splin3d" xml:lang="ja">
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) R.F. Boisvert, C. De Boor (código da biblioteca FORTRAN CMLIB)
+ * Copyright (C) B. Pincon (interface Scilab)
+ *
+ * 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="splin3d" xml:lang="ja">
<refnamediv>
<refname>splin3d</refname>
<refpurpose>3次元補間グリッドのスプライン</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>tl = splin3d(x, y, z, v, [order])</synopsis>
+ <synopsis>
+ tl = splin3d(x, y, z, v)
+ tl = splin3d(x, y, z, v, order)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>引数</title>
<literal>order=[kx,ky,kz]</literal>を選択することにより
計算することができます.
</para>
- </refsection>
- <refsection>
- <title>注意</title>
- <para>この関数は以下の条件で動作します:</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/splin3d_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ 注意 : この関数は以下の条件で動作します
+ <table align="center" style="float:center">
+ <tr><td>nx, ny, nz ≥ 3</td></tr>
+ <tr><td>2 ≤ kx < nx</td></tr>
+ <tr><td>2 ≤ ky < ny</td></tr>
+ <tr><td>2 ≤ kz < nz</td></tr>
+ </table>
+ </para>
<para>これらの条件が考慮されない場合にエラーが発生します.</para>
</refsection>
<refsection>
vp_interp = interp3d(xp,yp,zp, tl);
er = max(abs(vp_exact - vp_interp))
// n=20で再試行し,誤差を見る
- ]]></programlisting>
+ ]]></programlisting>
+ <para/>
<programlisting role="example"><![CDATA[
// 例 2 (linear_interpn のヘルプを参照ください,
// trilinear補間に関する同じ例があります)
// =============================================================================
-exec("SCI/modules/interpolation/demos/interp_demo.sci")
+exec("SCI/modules/interpolation/demos/interp_demo.sci", -1);
func = "v=(x-0.5).^2 + (y-0.5).^3 + (z-0.5).^2";
deff("v=f(x,y,z)",func);
n = 5;
dir = ["z=" "z=" "z=" "x=" "y="];
val = [ 0.1 0.5 0.9 0.5 0.5];
ebox = [0 1 0 1 0 1];
-XF=[]; YF=[]; ZF=[]; VF=[];
+[XF, YF, ZF, VF] = ([], [], [], []);
for i = 1:length(val)
- [Xm,Xp,Ym,Yp,Zm,Zp] = slice_parallelepiped(dir(i), val(i), ebox, m, m, m);
- Vm = interp3d(Xm,Ym,Zm, tl);
- [xf,yf,zf,vf] = nf3dq(Xm,Ym,Zm,Vm,1);
- XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
- Vp = interp3d(Xp,Yp,Zp, tl);
- [xf,yf,zf,vf] = nf3dq(Xp,Yp,Zp,Vp,1);
- XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
+ [Xm,Xp,Ym,Yp,Zm,Zp] = slice_parallelepiped(dir(i), val(i), ebox, m, m, m);
+ Vm = interp3d(Xm,Ym,Zm, tl);
+ [xf,yf,zf,vf] = nf3dq(Xm,Ym,Zm,Vm,1);
+ XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
+ Vp = interp3d(Xp,Yp,Zp, tl);
+ [xf,yf,zf,vf] = nf3dq(Xp,Yp,Zp,Vp,1);
+ XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
end
-nb_col = 128;
-vmin = min(VF); vmax = max(VF);
+
+clf
+[nb_col, vmin, vmax] = (128, min(VF), max(VF));
color = dsearch(VF,linspace(vmin,vmax,nb_col+1));
gcf().color_map = jetcolormap(nb_col);
-clf();
gca().hiddencolor = gca().background;
colorbar(vmin,vmax)
plot3d(XF, YF, list(ZF,color), flag=[-1 6 4])
-xtitle("3d spline interpolation of "+func)
-show_window()
+title("3d spline interpolation of "+func, "fontsize",3)
]]></programlisting>
<scilab:image localized="true">
- exec("SCI/modules/interpolation/demos/interp_demo.sci")
+ exec("SCI/modules/interpolation/demos/interp_demo.sci", -1);
func = "v=(x-0.5).^2 + (y-0.5).^3 + (z-0.5).^2";
deff("v=f(x,y,z)",func);
n = 5;
</member>
</simplelist>
</refsection>
- <refsection>
- <title>履歴</title>
- <revhistory>
- <revision>
- <revnumber>5.4.0</revnumber>
- <revremark>以前では, 入力引数の虚部は暗黙のうちに無視されていました.</revremark>
- </revision>
- </revhistory>
- </refsection>
</refentry>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mi math:fontstyle="italic">dfp</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mfrac>
- <math:msup>
- <math:mo math:stretchy="false">∂</math:mo>
- <math:mrow>
- <math:mrow>
- <math:mi math:fontstyle="italic">ox</math:mi>
- <math:mo math:stretchy="false">×</math:mo>
- <math:mi math:fontstyle="italic">ox</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">×</math:mo>
- <math:mi math:fontstyle="italic">oz</math:mi>
- </math:mrow>
- </math:msup>
- <math:mrow>
- <math:mrow>
- <math:msup>
- <math:mo math:stretchy="false">∂</math:mo>
- <math:mi math:fontstyle="italic">ox</math:mi>
- </math:msup>
- <math:mo math:stretchy="false">×</math:mo>
- <math:msup>
- <math:mo math:stretchy="false">∂</math:mo>
- <math:mi math:fontstyle="italic">oy</math:mi>
- </math:msup>
- </math:mrow>
- <math:mo math:stretchy="false">×</math:mo>
- <math:msup>
- <math:mo math:stretchy="false">∂</math:mo>
- <math:mi math:fontstyle="italic">oz</math:mi>
- </math:msup>
- </math:mrow>
- </math:mfrac>
- </math:mrow>
- <math:mi>s</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">yp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">zp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">dfp(i) = {{partial^{ox times ox times oz} } over {partial^{ox} times partial ^{oy} times partial^{oz}}} s(xp(i),yp(i),zp(i))</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi math:fontstyle="italic">yp</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mtext> or </math:mtext>
- <math:mi math:fontstyle="italic">yp</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi math:fontstyle="italic">yp1</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mtext> or </math:mtext>
- <math:mi math:fontstyle="italic">yp1</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi math:fontstyle="italic">yp2</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mtext> or </math:mtext>
- <math:mi math:fontstyle="italic">yp2</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi math:fontstyle="italic">yp3</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mtext> or </math:mtext>
- <math:mi math:fontstyle="italic">yp3</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-yp(i) = s(xp(i)) " or " yp(i,j) = s(xp(i,j)) #
-yp1(i) = s'(xp(i)) " or " yp1(i,j) = s'(xp(i,j)) #
-yp2(i) = s''(xp(i)) " or " yp2(i,j) = s''(xp(i,j)) #
-yp3(i) = s'''(xp(i)) " or " yp3(i,j) = s'''(xp(i,j))
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:msub>
- <math:mi>y</math:mi>
- <math:mn>1</math:mn>
- </math:msub>
- </math:mrow>
- <math:mtext> for </math:mtext>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false"><</math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mn>1</math:mn>
- </math:msub>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:msub>
- <math:mi>y</math:mi>
- <math:mi>n</math:mi>
- </math:msub>
- </math:mrow>
- <math:mtext> for </math:mtext>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">></math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mi>n</math:mi>
- </math:msub>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-s(x) = y_1 " for " x < x_1 #
-s(x) = y_n " for " x > x_n
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:msub>
- <math:mi>p</math:mi>
- <math:mn>1</math:mn>
- </math:msub>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mtext> for </math:mtext>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false"><</math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mn>1</math:mn>
- </math:msub>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:msub>
- <math:mi>p</math:mi>
- <math:mrow>
- <math:mi>n</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- </math:msub>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mtext> for </math:mtext>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">></math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mi>n</math:mi>
- </math:msub>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-s(x) = p_1(x) " for " x < x_1 #
-s(x) = p_{n-1}(x) " for " x > x_n
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mrow>
- <math:msub>
- <math:mi>y</math:mi>
- <math:mn>1</math:mn>
- </math:msub>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mn>1</math:mn>
- </math:msub>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mn>1</math:mn>
- </math:msub>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mtext> for </math:mtext>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false"><</math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mn>1</math:mn>
- </math:msub>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mrow>
- <math:msub>
- <math:mi>y</math:mi>
- <math:mi>n</math:mi>
- </math:msub>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mi>n</math:mi>
- </math:msub>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mi>n</math:mi>
- </math:msub>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mtext> for </math:mtext>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">></math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mi>n</math:mi>
- </math:msub>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-s(x) = y_1 + s'(x_1) cdot (x - x_1) " for " x < x_1 #
-s(x) = y_n + s'(x_n) cdot (x - x_n) " for " x > x_n
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mi>v</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">i1</math:mi>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">i2</math:mi>
- <math:mi>,</math:mi>
- <math:mo math:stretchy="false">⋯</math:mo>
- <math:mi>,</math:mi>
- <math:mi>i</math:mi>
- <math:mi>n</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>f</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">x1</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">i1</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">x2</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">i2</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mo math:stretchy="false">⋯</math:mo>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">xn</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>n</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">v(i1,i2, dotsaxis,i{n}) = f(x1(i1),x2(i2),dotsaxis,xn(i{n}))</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi math:fontstyle="italic">vp</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp1</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">xp2</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mo math:stretchy="false">⋯</math:mo>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">xpn</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mtext>or </math:mtext>
- <math:mi math:fontstyle="italic">vp</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xp1</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">xp2</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mo math:stretchy="false">⋯</math:mo>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">xpn</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mi>,</math:mi>
- <math:mi>j</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mtext> in case the xpk are matrices</math:mtext>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-vp(i) = s(xp1(i),xp2(i),dotsaxis,xpn(i)) #
-"or " vp(i,j) = s(xp1(i,j),xp2(i,j),dotsaxis,xpn(i,j)) " in case the xpk are matrices"
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mi>P</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">∉</math:mo>
- <math:mrow>
- <math:mrow>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">[</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">x1</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mn>1</math:mn>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">x1</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>$</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">]</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">×</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">[</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">x2</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mn>1</math:mn>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">x2</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>$</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">]</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">×</math:mo>
- <math:mo math:stretchy="false">⋯</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">×</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">[</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xn</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mn>1</math:mn>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">xn</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>$</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">]</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mrow>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">P(i) notin [x1(1), x1($)] times [x2(1), x2($)] times dotsaxis times [xn(1), xn($)] </math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mrow>
- <math:munderover>
- <math:mo math:stretchy="false">∑</math:mo>
- <math:mrow>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mi>m</math:mi>
- </math:munderover>
- <math:mi math:fontstyle="italic">wd</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mover math:accent="true">
- <math:msup>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xd</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mi math:fontstyle="italic">yd</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mn>2</math:mn>
- </math:msup>
- <math:mo math:stretchy="false">˙</math:mo>
- </math:mover>
- <math:mo math:stretchy="false">←</math:mo>
- <math:mrow>
- <math:munderover>
- <math:mo math:stretchy="false">∑</math:mo>
- <math:mrow>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mi>m</math:mi>
- </math:munderover>
- <math:mi math:fontstyle="italic">wd</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mover math:accent="true">
- <math:msup>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>f</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi math:fontstyle="italic">xd</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mi math:fontstyle="italic">yd</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mn>2</math:mn>
- </math:msup>
- <math:mo math:stretchy="false">˙</math:mo>
- </math:mover>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">sum from {k=1} to m wd(k) dot (s(xd(k)) - yd(k))^2 leftarrow sum from {k=1} to m wd(k) dot (f(xd(k)) - yd(k))^2</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mi>,</math:mi>
- <math:mi>y</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mrow>
- <math:munderover>
- <math:mo math:stretchy="false">∑</math:mo>
- <math:mrow>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mn>4</math:mn>
- </math:munderover>
- <math:mrow>
- <math:munderover>
- <math:mo math:stretchy="false">∑</math:mo>
- <math:mrow>
- <math:mi>l</math:mi>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mn>4</math:mn>
- </math:munderover>
- <math:msub>
- <math:mi>c</math:mi>
- <math:mi math:fontstyle="italic">ij</math:mi>
- </math:msub>
- </math:mrow>
- </math:mrow>
- </math:mrow>
- <math:mrow>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>k</math:mi>
- <math:mi>,</math:mi>
- <math:mi>l</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:msup>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:msub>
- <math:mi>x</math:mi>
- <math:mi>i</math:mi>
- </math:msub>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mrow>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- </math:msup>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:msup>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>y</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:msub>
- <math:mi>y</math:mi>
- <math:mi>i</math:mi>
- </math:msub>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mrow>
- <math:mi>l</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- </math:msup>
- </math:mrow>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">s(x,y) = sum from {k=1} to 4 sum from {l=1} to 4 c_{ij}(k,l) cdot (x - x_i)^{k-1} cdot (y - y_i)^{l-1}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi math:fontstyle="italic">nx</math:mi>
- <math:mi>,</math:mi>
- <math:mi math:fontstyle="italic">ny</math:mi>
- <math:mi>,</math:mi>
- <math:mrow>
- <math:mi math:fontstyle="italic">nz</math:mi>
- <math:mo math:stretchy="false">≥</math:mo>
- <math:mn>3</math:mn>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mrow>
- <math:mn>2</math:mn>
- <math:mo math:stretchy="false">≤</math:mo>
- <math:mi math:fontstyle="italic">kx</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false"><</math:mo>
- <math:mi math:fontstyle="italic">nx</math:mi>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mrow>
- <math:mn>2</math:mn>
- <math:mo math:stretchy="false">≤</math:mo>
- <math:mi math:fontstyle="italic">ky</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false"><</math:mo>
- <math:mi math:fontstyle="italic">ny</math:mi>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mrow>
- <math:mn>2</math:mn>
- <math:mo math:stretchy="false">≤</math:mo>
- <math:mi math:fontstyle="italic">kz</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false"><</math:mo>
- <math:mi math:fontstyle="italic">nz</math:mi>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-nx,ny,nz >= 3 #
-2 <= kx < nx #
-2 <= ky < ny #
-2 <= kz < nz
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:msup>
- <math:mi math:fontstyle="italic">x2</math:mi>
- <math:mtext>-</math:mtext>
- </math:msup>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:msup>
- <math:mi math:fontstyle="italic">x2</math:mi>
- <math:mtext>+</math:mtext>
- </math:msup>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:msubsup>
- <math:mi>x</math:mi>
- <math:mrow>
- <math:mi>n</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mtext>-</math:mtext>
- </math:msubsup>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:msubsup>
- <math:mi>x</math:mi>
- <math:mrow>
- <math:mi>n</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mtext>+</math:mtext>
- </math:msubsup>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-s'''(x2^"-") = s'''(x2^"+") #
-s'''(x_{n-1}^"-") = s'''(x_{n-1}^"+")
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">x1</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi math:fontstyle="italic">der</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mn>1</math:mn>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">xn</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi math:fontstyle="italic">der</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mn>2</math:mn>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-s'(x1) = der(1) #
-s'(xn) = der(2)
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">x1</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mn>0</math:mn>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">xn</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mn>0</math:mn>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-s''(x1) = 0 #
-s''(xn) = 0
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">x1</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">xn</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mi>s</math:mi>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">x1</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mi>s</math:mi>
- </math:mrow>
- <math:mi>'</math:mi>
- <math:mi>'</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi math:fontstyle="italic">xn</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-s'(x1) = s'(xn) #
-s''(x1) = s''(xn)
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mtable>
- <math:mtr>
- <math:mrow>
- <math:mtext>if </math:mtext>
- <math:mi>y</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">≤</math:mo>
- <math:mi>y</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mtext> s is increasing on </math:mtext>
- <math:mrow>
- <math:mo math:stretchy="false">[</math:mo>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi>x</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">]</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- <math:mtr>
- <math:mrow>
- <math:mtext>if </math:mtext>
- <math:mi>y</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">≥</math:mo>
- <math:mi>y</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mtext> s is decreasing on </math:mtext>
- <math:mrow>
- <math:mo math:stretchy="false">[</math:mo>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>,</math:mi>
- <math:mi>x</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>i</math:mi>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">]</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mtr>
- </math:mtable>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">alignl stack {
-"if " y(i) <= y(i+1) " s is increasing on " [x(i), x(i+1)]#
-"if " y(i) >= y(i+1) " s is decreasing on " [x(i), x(i+1)]
-}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
-<refentry 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" xmlns:scilab="http://www.scilab.org" xml:id="bsplin3val" xml:lang="pt">
+<refentry 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="bsplin3val" xml:lang="pt">
<refnamediv>
<refname>bsplin3val</refname>
<refpurpose>função de avaliação de derivada arbitrária de spline
</refnamediv>
<refsynopsisdiv>
<title>Seqüência de Chamamento</title>
- <synopsis>[dfp]=bsplin3val(xp,yp,zp,tl,der)</synopsis>
+ <synopsis>dfp = bsplin3val(xp, yp, zp, tl, der)</synopsis>
</refsynopsisdiv>
<refsection>
<title>Parâmetros</title>
<literal>s</literal>. A derivada a ser computada é especificada pelo
argumento <literal>der=[ox,oy,oz]</literal> :
</para>
- <programlisting role=""><![CDATA[
- ox oy oz
- d d d
-dfp(i) = --- --- --- s (xp(i),yp(i),zp(i))
- ox oy oz
- dx dy dz
- ]]></programlisting>
+ <para>
+ <latex style="display" fontsize="18"
+ alt="dfp(i)=∂^{oxoyoz}/(∂^ox.∂^oy.∂^oz) s(xp(i),yp(i),zp(i))">
+ dfp(i)=\frac{\partial^{ox\,oy\,oz}}{\partial ^{ox}\,\partial ^{oy}\,\partial ^{oz}}
+ s\left(xp(i),yp(i),zp(i)\right)
+ </latex>
+ </para>
<para>
Então, <literal>der=[0 0 0]</literal> corresponde a
<emphasis>s</emphasis>, <literal>der=[1 0 0]</literal> to
</member>
</simplelist>
</refsection>
- <refsection>
- <title>Autores</title>
- <simplelist type="vert">
- <member>R.F. Boisvert, C. De Boor (código da biblioteca FORTRAN CMLIB)
- </member>
- <member>B. Pincon (interface Scilab)</member>
- </simplelist>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="interp" xml:lang="pt">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml"
+ xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="interp" xml:lang="pt">
<refnamediv>
<refname>interp</refname>
<refpurpose>função de avaliação de spline cúbico</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Seqüência de Chamamento</title>
- <synopsis>[yp [,yp1 [,yp2 [,yp3]]]]=interp(xp, x, y, d [, out_mode])</synopsis>
+ <synopsis>
+ [yp, yp1, yp2, yp3] = interp(xp, x, y, d)
+ [yp, yp1, yp2, yp3] = interp(xp, x, y, d, out_mode)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Parâmetros</title>
<listitem>
<para>
(opcional) string definido a avaliação de <literal>s</literal>
- fora do intervalo [x1,xn]
+ fora do intervalo [x<subscript>1</subscript>, x<subscript>n</subscript>].
</para>
</listitem>
</varlistentry>
<para>
Dados três vetores <literal>(x,y,d)</literal> ddefinindo uma função
de spline cúbico ou sup-spline (ver <link linkend="splin">splin</link>)
- com <literal>yi=s(xi), di = s'(xi)</literal> esta função avalia
+ com
+ <emphasis>
+ s(x<subscript>i</subscript>) = y<subscript>i</subscript>, e
+ s'(x<subscript>i</subscript>) = d<subscript>i</subscript>
+ </emphasis>
+ esta função avalia
<literal>s</literal> (e <literal>s', s'', s'''</literal> se necessário) em
<literal>xp(i)</literal> :
</para>
- <programlisting role=""><![CDATA[
-yp(i) = s(xp(i)) ou yp(i,j) = s(xp(i,j))
-yp1(i) = s'(xp(i)) ou yp1(i,j) = s'(xp(i,j))
-yp2(i) = s''(xp(i)) ou yp2(i,j) = s''(xp(i,j))
-yp3(i) = s'''(xp(i)) ou yp3(i,j) = s'''(xp(i,j))
- ]]></programlisting>
+ <para>
+ <table align="center">
+ <tr align="center">
+ <td><emphasis>
+ yp<subscript>i</subscript> = s(xp<subscript>i</subscript>)
+ ou
+ yp<subscript>ij</subscript> = s(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td><emphasis>
+ yp1<subscript>i</subscript> = s'(xp<subscript>i</subscript>)
+ ou
+ yp1<subscript>ij</subscript> = s'(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td><emphasis>
+ yp2<subscript>i</subscript> = s''(xp<subscript>i</subscript>)
+ ou
+ yp2<subscript>ij</subscript> = s''(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td><emphasis>
+ yp3<subscript>i</subscript> = s'''(xp<subscript>i</subscript>)
+ ou
+ yp3<subscript>ij</subscript> = s'''(xp<subscript>ij</subscript>)
+ </emphasis>
+ </td>
+ </tr>
+ </table>
+ </para>
<para>
O parâmetro <literal>out_mode</literal> ajusta a regra de avaliação
- para extrapolação, i.e., para <literal>xp(i)</literal> fora de [x1,xn] :
+ para extrapolação, i.e., para <literal>xp(i)</literal> fora de
+ [x<subscript>1</subscript>, x<subscript>n</subscript>] :
</para>
<variablelist>
<varlistentry>
<varlistentry>
<term>"C0"</term>
<listitem>
- <para>a extrapolação é definida como segue :</para>
- <programlisting role=""><![CDATA[
-s(x) = y1 para x < x1
-s(x) = yn para x > xn
- ]]></programlisting>
+ <para>a extrapolação é definida como segue :
+ <table align="center">
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> < x<subscript>1</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>1</subscript>
+ </emphasis></td></tr>
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> > x<subscript>n</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>n</subscript>
+ </emphasis></td></tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"natural"</term>
<listitem>
- <para>a extrapolação é definida como segue (p_i sendo o polinômio
- que define <literal>s</literal> em [x_i,x_{i+1}]) :
+ <para>a extrapolação é definida como segue (p<subscript>i</subscript>(x) sendo
+ o polinômio que define <literal>s</literal> em
+ [x<subscript>i</subscript>, x<subscript>i+1</subscript>]) :
</para>
- <programlisting role=""><![CDATA[
-s(x) = p_1(x) para x < x1
-s(x) = p_{n-1}(x) para x > xn
- ]]></programlisting>
+ <table align="center">
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> < x<subscript>1</subscript> ⇒
+ yp<subscript>i</subscript> = p<subscript>1</subscript>(xp<subscript>i</subscript>)
+ </emphasis></td></tr>
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> > x<subscript>n</subscript> ⇒
+ yp<subscript>i</subscript> = p<subscript>n-1</subscript>(xp<subscript>i</subscript>)
+ </emphasis></td></tr>
+ </table>
</listitem>
</varlistentry>
<varlistentry>
<term>"linear"</term>
<listitem>
<para>a extrapolação é definida como segue :</para>
- <programlisting role=""><![CDATA[
-s(x) = y1 + s'(x1)(x-x1) para x < x1
-s(x) = yn + s'(xn)(x-xn) para x > xn
- ]]></programlisting>
+ <table align="center">
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> < x<subscript>1</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>1</subscript> +
+ d<subscript>1</subscript>.(xp<subscript>i</subscript> - x<subscript>1</subscript>)
+ </emphasis></td></tr>
+ <tr align="center"><td><emphasis>
+ xp<subscript>i</subscript> > x<subscript>n</subscript> ⇒
+ yp<subscript>i</subscript> = y<subscript>n</subscript> +
+ d<subscript>n</subscript>.(xp<subscript>i</subscript> - x<subscript>n</subscript>)
+ </emphasis></td></tr>
+ </table>
</listitem>
</varlistentry>
<varlistentry>
<term>"periodic"</term>
<listitem>
<para>
- <literal>s</literal> é estendido por periodicidade.
+ <literal>s</literal> é estendido por periodicidade :
</para>
- </listitem>
+ <table align="center">
+ <tr><td><emphasis>
+ yp<subscript>i</subscript> = s( x<subscript>1</subscript> + (xp<subscript>i</subscript> - x<subscript>1</subscript>) modulo (x<subscript>n</subscript>-x<subscript>1</subscript>) )
+ </emphasis></td></tr>
+ </table>
+ </listitem>
</varlistentry>
</variablelist>
</refsection>
plot2d(xx, [yy2k yy2f])
legends(["spline não é um nó","sub-spline rápido"], [1 2], "lr",%f)
xtitle("interpolação por splines (segundas derivadas)")
-
+ ]]></programlisting>
+ <scilab:image>
+ a = -8; b = 8;
+ x = linspace(a,b,20)';
+ y = sinc(x);
+ dk = splin(x,y); // not_a_knot
+ df = splin(x,y, "fast");
+ xx = linspace(a,b,800)';
+ [yyk, yy1k, yy2k] = interp(xx, x, y, dk);
+ [yyf, yy1f, yy2f] = interp(xx, x, y, df);
+ clf()
+ subplot(3,1,1)
+ plot2d(xx, [yyk yyf])
+ plot2d(x, y, style=-9)
+ legends(["not_a_knot spline","fast sub-spline","interpolation points"],...
+ [1 2 -9], "ur",%f)
+ xtitle("spline interpolation")
+ subplot(3,1,2)
+ plot2d(xx, [yy1k yy1f])
+ legends(["not_a_knot spline","fast sub-spline"], [1 2], "ur",%f)
+ xtitle("spline interpolation (derivatives)")
+ subplot(3,1,3)
+ plot2d(xx, [yy2k yy2f])
+ legends(["not_a_knot spline","fast sub-spline"], [1 2], "lr",%f)
+ xtitle("spline interpolation (second derivatives)")
+ </scilab:image>
+ <programlisting role="example"><![CDATA[
// aqui está um exemplo mostrando as diferentes possibilidades de extrapolação
x = linspace(0,1,11)';
y = cosh(x-0.5);
plot2d(xx,[yy0 yy1 yy2 yy3],style=2:5,frameflag=2,leg="C0@linear@natural@periodic")
xtitle(" Modos diferentes de avaliar um spline fora de seu domínio")
]]></programlisting>
+ <scilab:image>
+ x = linspace(0,1,11)';
+ y = cosh(x-0.5);
+ d = splin(x,y);
+ xx = linspace(-0.5,1.5,401)';
+ yy0 = interp(xx,x,y,d,"C0");
+ yy1 = interp(xx,x,y,d,"linear");
+ yy2 = interp(xx,x,y,d,"natural");
+ yy3 = interp(xx,x,y,d,"periodic");
+ clf()
+ plot2d(xx,[yy0 yy1 yy2 yy3],style=2:5,frameflag=2,leg="C0@linear@natural@periodic")
+ xtitle(" different way to evaluate a spline outside its domain")
+ </scilab:image>
</refsection>
<refsection role="see also">
<title>Ver Também</title>
<?xml version="1.0" encoding="UTF-8"?>
-<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="linear_interpn" xml:lang="pt">
+<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="linear_interpn" xml:lang="pt">
<refnamediv>
<refname>linear_interpn</refname>
<refpurpose>interpolação linear n-dimensional</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Seqüência de Chamamento</title>
- <synopsis>vp = linear_interpn(xp1,xp2,..,xpn, x1, ..., xn, v [,out_mode])</synopsis>
+ <synopsis>
+ vp = linear_interpn(xp1,xp2,..,xpn, x1,...,xn, v)
+ vp = linear_interpn(xp1,xp2,..,xpn, x1,...,xn, v, out_mode)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Parâmetros</title>
..., xn
</literal>
eos valores <literal>v</literal> de uma função (aqui
- nomeada <emphasis>f</emphasis>) nos pontos do grid :
+ nomeada <emphasis>f</emphasis>) nos pontos do grid :
+ </para>
+ <para>
+ <table align="center">
+ <tr><td>
+ v(i<subscript>1</subscript>,
+ i<subscript>2</subscript>,…,
+ i<subscript>n</subscript>) =
+ <emphasis>f</emphasis>(x1(i<subscript>1</subscript>),
+ x2(i<subscript>2</subscript>),…,
+ xn(i<subscript>n</subscript>))
+ </td>
+ </tr>
+ </table>
</para>
- <programlisting role=""><![CDATA[
-v(i1,i2,...,in) = f(x1(i1),x2(i2), ..., xn(in))
- ]]></programlisting>
<para>
esta função computa o interpolante linear de <emphasis>f</emphasis>
do grid (chamado de s a partir daqui) nos pontos nos quais as coordenadas
</literal>
:
</para>
- <programlisting role=""><![CDATA[
-vp(i) = s(xp1(i),xp2(i), ..., xpn(i))
-
-or vp(i,j) = s(xp1(i,j),xp2(i,j), ..., xpn(i,j)) caso xpk sejam matrizes
- ]]></programlisting>
+ <para>
+ <table align="center">
+ <tr align="center">
+ <td>vp(i) = <emphasis>s</emphasis>(xp1(i), xp2(i), …, xpn(i))</td></tr>
+ <tr align="center"><td>or</td></tr>
+ <tr align="center">
+ <td>vp(i,j) = <emphasis>s</emphasis>(xp1(i,j), xp2(i,j), …, xpn(i,j))</td>
+ </tr>
+ </table>
+ caso xpk sejam matrizes.
+ </para>
<para>
O parâmetro <literal>out_mode</literal> ajusta a regra para
extrapolação: se notarmos
<emphasis>Pi=(xp1(i),xp2(i),...,xpn(i))</emphasis> , então
- <literal>out_mode</literal> define a regra de avaliação quando:
+ <literal>out_mode</literal> define a regra de avaliação quando:
+ </para>
+ <para>
+ <table align="center">
+ <tr><td>P(i) ∉ [x1(1), x1($)] × [x2(1), x2($)] × … × [xn(1), xn($)]</td></tr>
+ </table>
</para>
- <programlisting role=""><![CDATA[
-P(i) está fora de [x1(1) x1($)] x [x2(1) x2($)] x ... x [xn(1) xn($)]
- ]]></programlisting>
<para>As escolhas são: </para>
<variablelist>
<varlistentry>
<term>"C0"</term>
<listitem>
<para>a extrapolação é definida como segue: </para>
- <programlisting role=""><![CDATA[
-s(P) = s(proj(P)) onde proj(P) é o ponto mais próximo de P
+ <programlisting role=""><![CDATA[
+s(P) = s(proj(P)) onde proj(P) é o ponto mais próximo de P
localizado na fronteira do grid.
]]></programlisting>
</listitem>
</refsection>
<refsection>
<title>Exemplos </title>
- <programlisting role="example"><![CDATA[
+ <programlisting role="example"><![CDATA[
// exemplo 1 : interpolação linear 1d
x = linspace(0,2*%pi,11);
y = sin(x);
<?xml version="1.0" encoding="UTF-8"?>
-<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="lsq_splin" xml:lang="pt">
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) R.F. Boisvert, C. De Boor (código da biblioteca FORTRAN CMLIB)
+ * Copyright (C) B. Pincon (interface Scilab)
+ *
+ * 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="lsq_splin" xml:lang="pt">
<refnamediv>
<refname>lsq_splin</refname>
<refpurpose>ajuste ponderado por spline cúbico de mínimos
</refnamediv>
<refsynopsisdiv>
<title>Seqüência de Chamamento</title>
- <synopsis>[y, d] = lsq_splin(xd, yd [, wd], x)</synopsis>
+ <synopsis>
+ [y, d] = lsq_splin(xd, yd, x)
+ [y, d] = lsq_splin(xd, yd, wd, x)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Parâmetros</title>
pontos de interrupção <emphasis>x1 < x2 < ... < xn</emphasis>
então, o spline resultante s é tal que:
</para>
- <programlisting role=""><![CDATA[
-_m_ _m_
-\ 2 \ 2
-/ wd(k) (s(xd(k)) - yd(k)) <= / wd(k) (f(xd(k)) - yd(k))
---- ---
-k=1 k=1
- ]]></programlisting>
<para>
- para todo <emphasis>fem S</emphasis>, i.e., realiza o mínimo da
+ <latex style="display" fontsize="18" alt="∑_k=1→m wd(k).[s(xd(k))-yd(k)]² ⬅ ∑_k=1→m wd(k).[f(xd(k))-yd(k)]²">
+ \sum_{k=1}^m wd(k)\left(s(xd(k))-yd(k)\right)^2 \,\leftarrow\,
+ \sum_{k=1}^m wd(k)\left(f(xd(k))-yd(k)\right)^2
+ </latex>
+ </para>
+ <para>
+ para todo <emphasis>f em S</emphasis>, i.e., realiza o mínimo da
soma de todos os erros quadrados sobre todas as funções de
<emphasis>S</emphasis>.
</para>
<title>Ver Também</title>
<simplelist type="inline">
<member>
+ <link linkend="backslash">backslash</link>
+ </member>
+ <member>
+ <link linkend="datafit">datafit</link>
+ </member>
+ <member>
<link linkend="interp">interp</link>
</member>
<member>
</member>
</simplelist>
</refsection>
- <refsection>
- <title>Autores</title>
- <simplelist type="vert">
- <member>C. De Boor, A.H. Morris (código da biblioteca FORTRAN NSWC)
- </member>
- <member>B. Pincon (interface Scilab e ligeiras modificações)</member>
- </simplelist>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<refentry 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" xmlns:scilab="http://www.scilab.org" xml:id="splin" xml:lang="pt">
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) F. N. Fritsch (rotina pchim.f Slatec é usada para interpolação monótona)
+ * Copyright (C) B. Pincon (interface Scilab)
+ *
+ * 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:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="splin" xml:lang="pt">
<refnamediv>
<refname>splin</refname>
<refpurpose>interpolação por spline cúbico</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Seqüência de Chamamento</title>
- <synopsis>d = splin(x, y [,spline_type [, der]])</synopsis>
+ <synopsis>
+ d = splin(x, y)
+ d = splin(x, y, spline_type)
+ d = splin(x, y, spline_type, der)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Parâmetros</title>
<literal>d</literal> é o vetor com as derivadas nos <literal>xi</literal>:
<emphasis>s'(xi)=di</emphasis> (esta forma é chamada de forma de
<emphasis>Hermite ou hermitiana</emphasis> ). A avaliação do spline em
- alguns pontos deve ser feita pela função <link linkend="interp">interp</link>. Vários tipos de splines podem ser
- computados selecionando o parâmetro <literal>spline_type</literal>
- apropriado:
+ alguns pontos deve ser feita pela função <link linkend="interp">interp</link>.
+ Vários tipos de splines podem ser computados selecionando o parâmetro
+ <literal>spline_type</literal> apropriado:
</para>
<variablelist>
<varlistentry>
<para>este é o caso padrão, o spline cúbico é computado sob as
seguintes condições (considerando n pontos x1,...,xn):
</para>
- <programlisting role=""><![CDATA[
-s'''(x2-) = s'''(x2+)
-s'''(x{n-1}-) = s'''(x{n-1}+)
- ]]></programlisting>
+ <para>
+ <latex fontsize="18" alt="s′′′(x₂⁻)=s′′′(x₂⁺), s′′′(x{n-1}⁻)=s′′′(x{n-1}⁺)">
+ s'''(x_2^-) = s'''(x_2^+) \\
+ s'''(x_{n-1}^-) = s'''(x_{n-1}^+)
+ </latex>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
extremidades do intervalo que devem ser fornecidas como último
argumento <literal>der</literal>:
</para>
- <programlisting role=""><![CDATA[
-s'(x1) = der(1)
-s'(xn) = der(2)
- ]]></programlisting>
+ <para>
+ <table align="center">
+ <tr align="center"><td><emphasis>s'(x<subscript>1</subscript>) = der(1)</emphasis></td></tr>
+ <tr align="center"><td><emphasis>s'(x<subscript>n</subscript>) = der(2)</emphasis></td></tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"natural"</term>
<listitem>
<para>o spline cúbico é computado sob as seguintes condições:</para>
- <programlisting role=""><![CDATA[
-s''(x1) = 0
-s''(xn) = 0
- ]]></programlisting>
+ <para>
+ <table align="center">
+ <tr align="center"><td><emphasis>s''(x<subscript>1</subscript>) = 0</emphasis></td></tr>
+ <tr align="center"><td><emphasis>s''(x<subscript>n</subscript>) = 0</emphasis></td></tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
deve verificar <emphasis>y1=yn</emphasis>) sob as seguintes
condições:
</para>
- <programlisting role=""><![CDATA[
-s'(x1) = s'(xn)
-s''(x1) = s''(xn)
- ]]></programlisting>
+ <para>
+ <table align="center">
+ <tr align="center">
+ <td>
+ <emphasis>s'(x<subscript>1</subscript>) = s'(x<subscript>n</subscript>)</emphasis>
+ </td>
+ </tr>
+ <tr align="center">
+ <td>
+ <emphasis>s''(x<subscript>1</subscript>) = s''(x<subscript>n</subscript>)</emphasis>
+ </td>
+ </tr>
+ </table>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
para os <emphasis>di</emphasis> tais que s é monótono em cada
intervalo:
</para>
- <programlisting role=""><![CDATA[
-if y(i) <= y(i+1) s é crescente em [x(i), x(i+1)]
-if y(i) >= y(i+1) s é decrescente em [x(i), x(i+1)]
- ]]></programlisting>
+ <para>
+ <itemizedlist>
+ <listitem>
+ If y(i) ≤ y(i+1), s is increasing on <literal>[x(i), x(i+1)]</literal>.
+ </listitem>
+ <listitem>
+ If y(i) ≥ y(i+1), s is increasing on <literal>[x(i), x(i+1)]</literal>.
+ </listitem>
+ </itemizedlist>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<title>Observações </title>
<para>De um ponto de vista de precisão, use essencialmente o tipo
<emphasis role="bold">clamped</emphasis> se você conhece as derivadas nas
- extremidades, de outro modo, use <emphasis role="bold">not_a_knot</emphasis>. Mas se a função subjacente aproximada é
- periódica, use o tipo <emphasis role="bold">periodic</emphasis> Sob boas
- suposições, estes tipos de spline têm um comportamento assintótico
- <literal>O(h^4)</literal> do erro. Não use o tipo <emphasis role="bold">natural</emphasis> a não ser que a função subjacente possua
- zero derivadas segundas nas extremidades.
+ extremidades, de outro modo, use <emphasis role="bold">not_a_knot</emphasis>.
+ Mas se a função subjacente aproximada é periódica, use o tipo
+ <emphasis role="bold">periodic</emphasis> Sob boas suposições, estes tipos de spline
+ têm um comportamento assintótico <literal>O(h^4)</literal> do erro.
+ Não use o tipo <emphasis role="bold">natural</emphasis> a não ser que a função
+ subjacente possua zero derivadas segundas nas extremidades.
</para>
<para>
- Os tipos <emphasis role="bold">monotone</emphasis>, <emphasis role="bold">fast</emphasis> (ou <emphasis role="bold">fast_periodic</emphasis>) podem ser úteis e alguns caso, por
+ Os tipos <emphasis role="bold">monotone</emphasis>, <emphasis role="bold">fast</emphasis>
+ (ou <emphasis role="bold">fast_periodic</emphasis>) podem ser úteis e alguns caso, por
exemplo, para limitar oscilações (estes tipos de sub-splines têm um
comportamento assintótico <literal>O(h^3)</literal> do erro).
</para>
<para>
Se <emphasis>n=2</emphasis> (e <literal>spline_type</literal> não é
<emphasis role="bold">clamped</emphasis>) é usada interpolação linear. Se
- <emphasis>n=3</emphasis> e <literal>spline_type</literal> é <emphasis role="bold">not_a_knot</emphasis>, então, um sub-spline tipo <emphasis role="bold">fast</emphasis> é computado, na verdade.
+ <emphasis>n=3</emphasis> e <literal>spline_type</literal> é
+ <emphasis role="bold">not_a_knot</emphasis>, então, um sub-spline tipo
+ <emphasis role="bold">fast</emphasis> é computado, na verdade.
</para>
</refsection>
<refsection>
</member>
</simplelist>
</refsection>
- <refsection>
- <title>Autores</title>
- <simplelist type="vert">
- <member>B. Pincon</member>
- <member>F. N. Fritsch (rotina pchim.f Slatec é usada para interpolação
- monótona)
- </member>
- </simplelist>
- </refsection>
</refentry>
<?xml version="1.0" encoding="UTF-8"?>
-<refentry 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" xmlns:scilab="http://www.scilab.org" xml:id="splin2d" xml:lang="pt">
+<refentry 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="splin2d" xml:lang="pt">
<refnamediv>
<refname>splin2d</refname>
<refpurpose>interpolação por spline bicúbico em grides 2d</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Seqüência de Chamamento</title>
- <synopsis>C = splin2d(x, y, z, [,spline_type])</synopsis>
+ <synopsis>
+ C = splin2d(x, y, z)
+ C = splin2d(x, y, z, spline_type)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Parâmetros</title>
,<emphasis>s</emphasis> é definido por
:
</para>
- <programlisting role=""><![CDATA[
- _4_ _4_
- \ \ k-1 l-1
- s(x,y) = / / C (k,l) (x - xi) (y - yj)
- --- --- ij
- k=1 l=1
- ]]></programlisting>
<para>
- A avaliação de s em alguns pontos deve ser feita pela função <link linkend="interp2d">interp2d</link> Vários tipos de splines podem ser
+ <latex style="display" fontsize="18"
+ alt="s(x,y) = ∑_m=1→4 ∑_n=1→4 c_ij(m,n).(x-x_i)^{m-1}.(y-y_j)^{n-1}">
+ s(x,y)=\sum_{k=1}^4\sum_{l=1}^4 c_{ij}(k,l)\cdot(x-x_i)^{k-1}\cdot(y-y_j)^{l-1}
+ </latex>
+ </para>
+ <para>
+ A avaliação de s em alguns pontos deve ser feita pela função
+ <link linkend="interp2d">interp2d</link> Vários tipos de splines podem ser
computados selecionando o parâmetro <literal>spline_type</literal>
apropriado. O método usada para computar os splines (ou sub-spline)
bicúbicos é o mesmo do antigo, i.e., computar em cada ponto do grid
</refsection>
<refsection>
<title>Exemplos</title>
- <programlisting role="example"><![CDATA[
+ <programlisting role="example"><![CDATA[
// exemplo 1 : interpolação de cos(x)cos(y)
n = 7; // um grid regular com n x n pontos de interpolação
// será usado
plot3d(xx, yy, zz, flag=[2 4 4])
[X,Y] = ndgrid(x,y);
param3d1(X,Y,list(z,-9*ones(1,n)), flag=[0 0])
-str = msprintf(" com %d x %d pontos de interpolação. ermax = %g",n,n,emax)
+str = msprintf(" com %d x %d pontos de interpolação. ermax = %g",n,n,emax)
xtitle("Interpolação por spline de cos(x)cos(y)"+str)
-
+ ]]></programlisting>
+ <para/>
+ <programlisting role="example"><![CDATA[
// exemplo 2 : diferentes funções de interpolação em dados aleatórios
n = 6;
x = linspace(0,1,n); y = x;
subplot(2,2,4)
plot3d1(xp, yp, ZP4, flag=[2 2 4])
xtitle("monotone")
-show_window()
-
+ ]]></programlisting>
+ <para/>
+ <programlisting role="example"><![CDATA[
// exemplo 3 : spline not_a_knot e sub-spline monotone
// em uma função de degraus
a = 0; b = 1; c = 0.25; d = 0.75;
subplot(1,2,2)
plot3d1(xp, xp, zp2, flag=[-2 6 4])
xtitle("subspline (monotone)")
- ]]></programlisting>
+ ]]></programlisting>
</refsection>
<refsection role="see also">
<title>Ver Também</title>
<?xml version="1.0" encoding="UTF-8"?>
-<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="splin3d" xml:lang="pt">
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) R.F. Boisvert, C. De Boor (código da biblioteca FORTRAN CMLIB)
+ * Copyright (C) B. Pincon (interface Scilab)
+ *
+ * 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:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+ xml:id="splin3d" xml:lang="pt">
<refnamediv>
<refname>splin3d</refname>
<refpurpose>interpolação spline em grides 3d</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Seqüência de Chamamento</title>
- <synopsis>tl = splin3d(x, y, z, v, [order])</synopsis>
+ <synopsis>
+ tl = splin3d(x, y, z, v)
+ tl = splin3d(x, y, z, v, order)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Parâmetros</title>
é definido por <literal>tl</literal> que consiste em uma representação
B-tensor-spline de <emphasis>s</emphasis>. A avaliação de s em alguns
pontos deve ser feita pela função <link linkend="interp3d">interp3d</link>
- (para computar s e suas derivadas primeiras) ou pela função <link linkend="bsplin3val">bsplin3val</link> (para computar uma derivada
+ (para computar s e suas derivadas primeiras) ou pela função
+ <link linkend="bsplin3val">bsplin3val</link> (para computar uma derivada
arbitrária de s) . Vários tipos de splines podem ser computados
selecionando a ordem dos splines em cada direção
<literal>order=[kx,ky,kz]</literal>.
</para>
- </refsection>
- <refsection>
- <title>Observação</title>
- <para>Esta função funciona sob as condições: </para>
- <programlisting role=""><![CDATA[
-nx, ny, nz <= 3
-2 <= kx < nx
-2 <= ky < ny
-2 <= kz < nz
- ]]></programlisting>
- <para>Há erro quando estas condições não são respeitadas. </para>
+ <para>
+ Observação : Esta função funciona sob as condições
+ <table align="center" style="float:center">
+ <tr><td>nx, ny, nz ≥ 3</td></tr>
+ <tr><td>2 ≤ kx < nx</td></tr>
+ <tr><td>2 ≤ ky < ny</td></tr>
+ <tr><td>2 ≤ kz < nz</td></tr>
+ </table>
+ </para>
+ <para>
+ Há erro quando estas condições não são respeitadas.
+ </para>
</refsection>
<refsection>
<title>Exemplos</title>
vp_interp = interp3d(xp,yp,zp, tl);
er = max(abs(vp_exact - vp_interp))
// tente agora com n=20 e veja o erro
-
+ ]]></programlisting>
+ <para/>
+ <programlisting role="example"><![CDATA[
// exemplo 2 (veja a página de ajuda de linear_interpn que contém o
// mesmo exemplo com interpolação trilinear)
// =============================================================================
-exec("SCI/modules/interpolation/demos/interp_demo.sci")
+exec("SCI/modules/interpolation/demos/interp_demo.sci", -1);
func = "v=(x-0.5).^2 + (y-0.5).^3 + (z-0.5).^2";
deff("v=f(x,y,z)",func);
n = 5;
dir = ["z=" "z=" "z=" "x=" "y="];
val = [ 0.1 0.5 0.9 0.5 0.5];
ebox = [0 1 0 1 0 1];
-XF=[]; YF=[]; ZF=[]; VF=[];
+[XF, YF, ZF, VF] = ([], [], [], []);
for i = 1:length(val)
- [Xm,Xp,Ym,Yp,Zm,Zp] = slice_parallelepiped(dir(i), val(i), ebox, m, m, m);
- Vm = interp3d(Xm,Ym,Zm, tl);
- [xf,yf,zf,vf] = nf3dq(Xm,Ym,Zm,Vm,1);
- XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
- Vp = interp3d(Xp,Yp,Zp, tl);
- [xf,yf,zf,vf] = nf3dq(Xp,Yp,Zp,Vp,1);
- XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
+ [Xm,Xp,Ym,Yp,Zm,Zp] = slice_parallelepiped(dir(i), val(i), ebox, m, m, m);
+ Vm = interp3d(Xm,Ym,Zm, tl);
+ [xf,yf,zf,vf] = nf3dq(Xm,Ym,Zm,Vm,1);
+ XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
+ Vp = interp3d(Xp,Yp,Zp, tl);
+ [xf,yf,zf,vf] = nf3dq(Xp,Yp,Zp,Vp,1);
+ XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
end
-nb_col = 128;
-vmin = min(VF); vmax = max(VF);
+
+clf
+[nb_col, vmin, vmax] = (128, min(VF), max(VF));
color = dsearch(VF,linspace(vmin,vmax,nb_col+1));
gcf().color_map = jetcolormap(nb_col);
-clf();
gca().hiddencolor = gca().background;
colorbar(vmin,vmax)
plot3d(XF, YF, list(ZF,color), flag=[-1 6 4])
-xtitle("interpolação por spline 3d da função "+func)
-show_window()
- ]]></programlisting>
+title("interpolação por spline 3d da função "+func, "fontsize",3)
+ ]]></programlisting>
+ <scilab:image localized="true">
+ exec("SCI/modules/interpolation/demos/interp_demo.sci", -1);
+ func = "v=(x-0.5).^2 + (y-0.5).^3 + (z-0.5).^2";
+ deff("v=f(x,y,z)",func);
+ n = 5;
+ x = linspace(0,1,n); y=x; z=x;
+ [X,Y,Z] = ndgrid(x,y,z);
+ V = f(X,Y,Z);
+ tl = splin3d(x,y,z,V);
+ // computando e exibindo o spline interpolante 3d em algumas fatias
+ m = 41;
+ dir = ["z=" "z=" "z=" "x=" "y="];
+ val = [ 0.1 0.5 0.9 0.5 0.5];
+ ebox = [0 1 0 1 0 1];
+ XF=[]; YF=[]; ZF=[]; VF=[];
+ for i = 1:length(val)
+ [Xm,Xp,Ym,Yp,Zm,Zp] = slice_parallelepiped(dir(i), val(i), ebox, m, m, m);
+ Vm = interp3d(Xm,Ym,Zm, tl);
+ [xf,yf,zf,vf] = nf3dq(Xm,Ym,Zm,Vm,1);
+ XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
+ Vp = interp3d(Xp,Yp,Zp, tl);
+ [xf,yf,zf,vf] = nf3dq(Xp,Yp,Zp,Vp,1);
+ XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf]; VF = [VF vf];
+ end
+ nb_col = 128;
+ vmin = min(VF); vmax = max(VF);
+ color = dsearch(VF,linspace(vmin,vmax,nb_col+1));
+ gcf().color_map = jetcolormap(nb_col);
+ clf();
+ gca().hiddencolor = gca().background;
+ colorbar(vmin,vmax)
+ plot3d(XF, YF, list(ZF,color), flag=[-1 6 4])
+ xtitle("interpolação por spline 3d da função "+func)
+ </scilab:image>
</refsection>
<refsection role="see also">
<title>Ver Também</title>
</member>
</simplelist>
</refsection>
- <refsection>
- <title>Autores</title>
- <simplelist type="vert">
- <member>R.F. Boisvert, C. De Boor (código da biblioteca FORTRAN CMLIB)
- </member>
- <member>B. Pincon (interface Scilab)</member>
- </simplelist>
- </refsection>
</refentry>
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>z = beta(x,y)</synopsis>
+ <synopsis>z = beta(x, y)</synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
<refsection>
<title>Description</title>
<para>Computes the complete beta function :</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/beta_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18" alt="B(x,y)=∫_0→1 t^{x-1}.(1-t)^{y-1} dt = Γ(x).Γ(y)/ Γ(x+y)">
+ B(x,y)=\int_0^1\!t^{x-1}\left(1-t\right)^{y-1}dt=\frac{\Gamma(x)\,\Gamma(y)}{\Gamma(x+y)}
+ </latex>
+ </para>
<para>
For small <literal>x</literal> and <literal>y</literal> (<literal>x+y ≤ 2</literal> elementwise),
the algorithm uses the expression in function of the gamma function, else it
<literal>x</literal> the logarithmic derivative of the gamma function
which corresponds also to the derivative of the gammaln function :
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/dlgamma_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" alt="d(ln(Γ(x))/dx = dΓ(x)/dx . 1/Γ(x)">
+ \frac{d\,\ln\left(\Gamma(x)\right)}{dx}=\frac{d\Gamma(x)}{dx\,\Gamma(x)}
+ </latex>
+ </para>
<para>
<literal>x</literal> must be real. Also known as the psi
function.
</para>
<para>
<emphasis role="bold">gamma(u)</emphasis> computes
- <latex style="display" fontsize="18" alt="Γ(u)= ∫_0→∞ t^{u-1}.exp(-t).dt">
- \Gamma(u)=\int_0^\infty\! t^{u-1}e^{-t}\,dt
+ <latex style="display" fontsize="18" alt="Γ(x)= ∫_0→∞ t^{x-1}.exp(-t).dt">
+ \Gamma(x)=\int_0^\infty\! t^{x-1}e^{-t}\,dt
</latex>
</para>
+ <para>and generalizes the factorial function for real numbers
+ (<literal>gamma(u+1) = u*gamma(u)</literal>).
+ </para>
<refsect3>
<title>Incomplete normalized integrals</title>
<para>
* 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:ns4="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="legendre" xml:lang="en">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="legendre" xml:lang="en">
<refnamediv>
<refname>legendre</refname>
<refpurpose>associated Legendre functions</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>y = legendre(n,m,x [,normflag])</synopsis>
+ <synopsis>
+ y = legendre(n, m, x)
+ y = legendre(n, m, x, normflag)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
function Pnm(x) at all the elements of <literal>x</literal>. The
definition used is :
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/legendre_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18" alt="Pn|m(x)=(-1)^m.(1-x^2)^{m/2}.d^m[Pn(x)]/dx^m">
+ P_n^m(x)=(-1)^m\cdot(1-x^2)^{m/2}\cdot\frac{d^mP_n(x)}{dx^m}
+ </latex>
+ </para>
<para>
where <literal>Pn</literal> is the Legendre polynomial of degree
<literal>n</literal>. So <literal>legendre(n,0,x)</literal> evaluates the
<para>When the normflag is equal to "norm" you get a normalized version
(without the <literal>(-1)^m</literal> factor), precisely :
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/legendre_equation2.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18"
+ alt="Pn|m(x,norm)=sqrt[(2n+1)/2 .(n-m)!/(n+m)!].(1-x^2)^{m/2}.d^m[Pn(x)]/dx^m">
+ P_n^m(x,norm)=\sqrt{\frac{2n+1}{2}\frac{(n-m)!}{(n+m)!}}\cdot(1-x^2)^{m/2}\cdot\frac{d^mP_n(x)}{dx^m}
+ </latex>
+ </para>
<para>which is useful to compute spherical harmonic functions (see Example
3):
</para>
<literal>dlgamma(x)</literal> calcule la dérivée de la fonction
gammaln pour chaque composante de <literal>x</literal>.
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/dlgamma_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" alt="d(ln(Γ(x))/dx = dΓ(x)/dx . 1/Γ(x)">
+ \frac{d\,\ln\left(\Gamma(x)\right)}{dx}=\frac{d\Gamma(x)}{dx\,\Gamma(x)}
+ </latex>
+ </para>
<para>
<literal>x</literal> doit être réel. Cette fonction est aussi connue
sous le nom de fonction psi
<refsection>
<title>説明</title>
<para>完全ベータ関数を計算します :</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/beta_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18" alt="B(x,y)=∫_0→1 t^{x-1}.(1-t)^{y-1} dt = Γ(x).Γ(y)/ Γ(x+y)">
+ B(x,y)=\int_0^1\!t^{x-1}\left(1-t\right)^{y-1}dt=\frac{\Gamma(x)\,\Gamma(y)}{\Gamma(x+y)}
+ </latex>
+ </para>
<para>
<literal>x</literal> および<literal>y</literal>が小さい場合,
このアルゴリズムは,関数内でガンマ関数の式を使用します.
の全ての要素について,ガンマ関数の対数微分を計算します.
この値はgammaln関数の微分に一致します:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/dlgamma_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" alt="d(ln(Γ(x))/dx = dΓ(x)/dx . 1/Γ(x)">
+ \frac{d\,\ln\left(\Gamma(x)\right)}{dx}=\frac{d\Gamma(x)}{dx\,\Gamma(x)}
+ </latex>
+ </para>
<para>
<literal>x</literal> は実数である必要があります.
psi 関数としても知られています.
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - 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:ns4="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="gamma" xml:lang="ja">
+ <refnamediv>
+ <refname>gamma</refname>
+ <refpurpose>ガンマ関数.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼び出し手順</title>
+ <synopsis>y = gamma(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>引数</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>
+ scalar, vector, matrix, or hypermatrix of real numbers.
+ </para>
+ <note>
+ <literal>gamma</literal> can be overloaded for complex numbers or
+ of lists, tlists or mlists.
+ </note>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>y</term>
+ <listitem>
+ <para>(xと同じ大きさの)実数ベクトルまたは行列.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>gamma(x)</literal> は,
+ <literal>x</literal>の全要素についてガンマ関数を計算します.
+ ガンマ関数は以下のように定義されます:
+ </para>
+ <para>
+ <latex style="display" fontsize="18" alt="Γ(x)= ∫_0→∞ t^{x-1}.exp(-t).dt">
+ \Gamma(x)=\int_0^\infty\! t^{x-1}e^{-t}\,dt
+ </latex>
+ </para>
+ <para>そして,階乗関数を実数に一般化します.
+ (<literal>gamma(u+1) = u*gamma(u)</literal>).
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+// 簡単な例
+gamma(0.5)
+gamma(6)-prod(1:5)
+ ]]></programlisting>
+ <programlisting role="example"><![CDATA[
+// [a,b]のガンマ関数のグラフ
+a = -3; b = 5;
+x = linspace(a,b,40000);
+y = gamma(x);
+clf()
+plot2d(x, y, style=0, axesflag=5, rect=[a, -10, b, 10])
+xtitle("The gamma function on ["+string(a)+","+string(b)+"]")
+show_window()
+ ]]></programlisting>
+ <scilab:image>
+ a = -3; b = 5;
+ x = linspace(a,b,40000)';
+ y = gamma(x);
+ plot2d(x, y, style=0, axesflag=5, rect=[a, -10, b, 10])
+ xtitle("The gamma function on ["+string(a)+","+string(b)+"]")
+ </scilab:image>
+ </refsection>
+ <refsection role="see also">
+ <title>参照</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gammaln">gammaln</link>
+ </member>
+ <member>
+ <link linkend="dlgamma">dlgamma</link>
+ </member>
+ <member>
+ <link linkend="factorial">factorial</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>履歴</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.4.0</revnumber>
+ <revremark>
+ list, mlist, tlistおよびハイパー行列型のオーバーロードが
+ 可能となりました.
+ </revremark>
+ </revision>
+ <revision>
+ <revnumber>6.0.2</revnumber>
+ <revremark>
+ <itemizedlist>
+ <listitem>
+ The input can now be an hypermatrix.
+ </listitem>
+ <listitem>
+ <literal>gamma</literal> can now be overloaded for complex numbers.
+ </listitem>
+ </itemizedlist>
+ </revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
* 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:ns4="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="legendre" xml:lang="ja">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="legendre" xml:lang="ja">
<refnamediv>
<refname>legendre</refname>
<refpurpose>随伴ルジャンドル関数</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>y = legendre(n,m,x [,normflag])</synopsis>
+ <synopsis>
+ y = legendre(n, m, x)
+ y = legendre(n, m, x, normflag)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>パラメータ</title>
随伴ルジャンドル関数Pnm(x)を計算します.
使用される定義を以下に示します:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/legendre_equation1.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18" alt="Pn|m(x)=(-1)^m.(1-x^2)^{m/2}.d^m[Pn(x)]/dx^m">
+ P_n^m(x)=(-1)^m\cdot(1-x^2)^{m/2}\cdot\frac{d^mP_n(x)}{dx^m}
+ </latex>
+ </para>
<para>
ただし,<literal>Pn</literal>は<literal>n</literal>次の
ルジャンドル多項式です.
(<literal>(-1)^m</literal>係数を付けずに)
正規化された出力が得られます :
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../mml/legendre_equation2.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" fontsize="18"
+ alt="Pn|m(x,norm)=sqrt[(2n+1)/2 .(n-m)!/(n+m)!].(1-x^2)^{m/2}.d^m[Pn(x)]/dx^m">
+ P_n^m(x,norm)=\sqrt{\frac{2n+1}{2}\frac{(n-m)!}{(n+m)!}}\cdot(1-x^2)^{m/2}\cdot\frac{d^mP_n(x)}{dx^m}
+ </latex>
+ </para>
<para>これは,球面調和関数を計算する際に有用です(例3参照):</para>
<para>効率化のため,
最初の2つの引数の一つをベクトルとすることができ,
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mi>B</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mi>,</math:mi>
- <math:mi>y</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mrow>
- <math:mrow>
- <math:mrow>
- <math:munderover>
- <math:mo math:stretchy="false">∫</math:mo>
- <math:mn>0</math:mn>
- <math:mn>1</math:mn>
- </math:munderover>
- <math:msup>
- <math:mi>t</math:mi>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- </math:msup>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:msup>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mn>1</math:mn>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mi>t</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mrow>
- <math:mi>y</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- </math:msup>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mi math:fontstyle="italic">dt</math:mi>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mfrac>
- <math:mrow>
- <math:mo math:stretchy="false">Γ</math:mo>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mo math:stretchy="false">Γ</math:mo>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>y</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">Γ</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mi>y</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mfrac>
- </math:mrow>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">B(x,y) = int from 0 to 1 t^{x-1} cdot (1-t)^{y-1} cdot dt = {{%GAMMA(x) cdot %GAMMA(y)} over {%GAMMA(x + y)}}</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mfrac>
- <math:mn>1</math:mn>
- <math:mrow>
- <math:mo math:stretchy="false">Γ</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- </math:mfrac>
- <math:mrow>
- <math:mfrac>
- <math:mrow>
- <math:mi>d</math:mi>
- <math:mo math:stretchy="false">Γ</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mi math:fontstyle="italic">dx</math:mi>
- </math:mfrac>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mfrac>
- <math:mi>d</math:mi>
- <math:mi math:fontstyle="italic">dx</math:mi>
- </math:mfrac>
- </math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>ln</math:mi>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">Γ</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">{1 over {%GAMMA(x)}}{{d %GAMMA(x)} over {dx}} = {d over dx} (ln(%GAMMA(x)))</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:msubsup>
- <math:mi>P</math:mi>
- <math:mi>n</math:mi>
- <math:mi>m</math:mi>
- </math:msubsup>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mrow>
- <math:mrow>
- <math:msup>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>m</math:mi>
- </math:msup>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:msup>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mn>1</math:mn>
- <math:mo math:stretchy="false">−</math:mo>
- <math:msup>
- <math:mi>x</math:mi>
- <math:mn>2</math:mn>
- </math:msup>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mrow>
- <math:mi>m</math:mi>
- <math:mo math:stretchy="false">/</math:mo>
- <math:mn>2</math:mn>
- </math:mrow>
- </math:msup>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mfrac>
- <math:msup>
- <math:mi>d</math:mi>
- <math:mi>m</math:mi>
- </math:msup>
- <math:msup>
- <math:mi math:fontstyle="italic">dx</math:mi>
- <math:mi>m</math:mi>
- </math:msup>
- </math:mfrac>
- </math:mrow>
- </math:mrow>
- <math:msub>
- <math:mi>P</math:mi>
- <math:mi>n</math:mi>
- </math:msub>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">P_n^m(x) = (-1)^m cdot (1-x^2)^{m/2} cdot {d^m over dx^m}P_n(x)</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:msubsup>
- <math:mi>P</math:mi>
- <math:mi>n</math:mi>
- <math:mi>m</math:mi>
- </math:msubsup>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>x</math:mi>
- <math:mi>,</math:mi>
- <math:mtext>norm</math:mtext>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mrow>
- <math:mrow>
- <math:msqrt>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mfrac>
- <math:mrow>
- <math:mn>2n</math:mn>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mn>2</math:mn>
- </math:mfrac>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mfrac>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>n</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mi>m</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>!</math:mi>
- </math:mrow>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>n</math:mi>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mi>m</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mi>!</math:mi>
- </math:mrow>
- </math:mfrac>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:msqrt>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:msup>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mn>1</math:mn>
- <math:mo math:stretchy="false">−</math:mo>
- <math:msup>
- <math:mi>x</math:mi>
- <math:mn>2</math:mn>
- </math:msup>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mrow>
- <math:mi>m</math:mi>
- <math:mo math:stretchy="false">/</math:mo>
- <math:mn>2</math:mn>
- </math:mrow>
- </math:msup>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:mfrac>
- <math:msup>
- <math:mi>d</math:mi>
- <math:mi>m</math:mi>
- </math:msup>
- <math:msup>
- <math:mi math:fontstyle="italic">dx</math:mi>
- <math:mi>m</math:mi>
- </math:msup>
- </math:mfrac>
- </math:mrow>
- </math:mrow>
- <math:msub>
- <math:mi>P</math:mi>
- <math:mi>n</math:mi>
- </math:msub>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mi>x</math:mi>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- </math:mrow>
- <math:annotation math:encoding="StarMath 5.0">P_n^m(x,"norm") = {sqrt({{2n+1} over {2}} cdot {{(n-m)!} over {(n+m)!}})} cdot (1-x^2)^{m/2} cdot {d^m over dx^m}P_n(x)</math:annotation>
- </math:semantics>
-</math:math>
\ No newline at end of file
<refsection>
<title>Descrição</title>
<para>Computa a função beta completa : </para>
- <programlisting role=""><![CDATA[
- /1
- | x-1 y-1 gamma(x) gamma(y)
- beta(x,y) = | t (1-t) dt = ----------------
- /0 gamma(x+y)
- ]]></programlisting>
+ <para>
+ <latex style="display" fontsize="18" alt="B(x,y)=∫_0→1 t^{x-1}.(1-t)^{y-1} dt = Γ(x).Γ(y)/ Γ(x+y)">
+ B(x,y)=\int_0^1\!t^{x-1}\left(1-t\right)^{y-1}dt=\frac{\Gamma(x)\,\Gamma(y)}{\Gamma(x+y)}
+ </latex>
+ </para>
<para>
Para <literal>x</literal> e <literal>y</literal> pequenos, o
algoritmo usa a expressão em função da função gama, de outro modo, ele
<literal>x</literal> a derivada logarítmica da função gama (gamma), que
corresponde também à derivada da função ln(gama) (gammaln):
</para>
- <programlisting role=""><![CDATA[
-d/dx (gamma(x)) / gamma(x) = d/dx (ln gamma(x))
- ]]></programlisting>
+ <para>
+ <latex style="display" alt="d(ln(Γ(x))/dx = dΓ(x)/dx . 1/Γ(x)">
+ \frac{d\,\ln\left(\Gamma(x)\right)}{dx}=\frac{d\Gamma(x)}{dx\,\Gamma(x)}
+ </latex>
+ </para>
<para>
<literal>x</literal> deve ser real. Também é conhecida como a função
psi.
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - 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: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="gamma" xml:lang="pt">
+ <refnamediv>
+ <refname>gamma</refname>
+ <refpurpose>função gama </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>y = gamma(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>
+ scalar, vector, matrix, or hypermatrix of real numbers.
+ </para>
+ <note>
+ <literal>gamma</literal> can be overloaded for complex numbers or
+ of lists, tlists or mlists.
+ </note>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>y</term>
+ <listitem>
+ <para>vetor ou matriz de reais ou complexos de mesmo tamanho que
+ x
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>gamma(x)</literal> avalia a função gama em todos os
+ elementos de <literal>x</literal>. A função gama é defininda por :
+ </para>
+ <para>
+ <latex style="display" fontsize="18" alt="Γ(x)= ∫_0→∞ t^{x-1}.exp(-t).dt">
+ \Gamma(x)=\int_0^\infty\! t^{x-1}e^{-t}\,dt
+ </latex>
+ </para>
+ <para>e generaliza a função fatorial para os números reais
+ (<literal>gamma(u+1) = u*gamma(u)</literal>).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+// exemplos simples
+gamma(0.5)
+gamma(6)-prod(1:5)
+
+// o gráfico da função gama em [a,b]
+a = -3; b = 5;
+x = linspace(a,b,40000);
+y = gamma(x);
+clf()
+plot2d(x, y, style=0, axesflag=5, rect=[a, -10, b, 10])
+xtitle("A função gama em ["+string(a)+","+string(b)+"]")
+show_window() ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="gammaln">gammaln</link>
+ </member>
+ <member>
+ <link linkend="dlgamma">dlgamma</link>
+ </member>
+ <member>
+ <link linkend="factorial">factorial</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Histórico</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.4.0</revnumber>
+ <revremark>Overloading allowed for list, mlist, tlist and hypermatrix types.</revremark>
+ </revision>
+ <revision>
+ <revnumber>6.0.2</revnumber>
+ <revremark>
+ <itemizedlist>
+ <listitem>
+ The input can now be an hypermatrix.
+ </listitem>
+ <listitem>
+ <literal>gamma</literal> can now be overloaded for complex numbers.
+ </listitem>
+ </itemizedlist>
+ </revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
* 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:ns3="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="legendre" xml:lang="pt">
+<refentry 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"
+ xmlns:scilab="http://www.scilab.org" xml:id="legendre" xml:lang="pt">
<refnamediv>
<refname>legendre</refname>
<refpurpose>funções associadas de Legendre</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Seqüência de Chamamento</title>
- <synopsis>y = legendre(n,m,x [,normflag])</synopsis>
+ <synopsis>
+ y = legendre(n, m, x)
+ y = legendre(n, m, x, normflag)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>Parâmetros</title>
<para>
Quando <literal>n</literal> e <literal>m</literal> são escalares,
<literal>legendre(n,m,x)</literal> avalia a função de Legendre associada
- Pnm(x) em todos os elementos de <literal>x</literal>. A definição usada é
- :
+ Pnm(x) em todos os elementos de <literal>x</literal>. A definição usada é :
+ </para>
+ <para>
+ <latex style="display" fontsize="18" alt="Pn|m(x)=(-1)^m.(1-x^2)^{m/2}.d^m[Pn(x)]/dx^m">
+ P_n^m(x)=(-1)^m\cdot(1-x^2)^{m/2}\cdot\frac{d^mP_n(x)}{dx^m}
+ </latex>
</para>
- <programlisting role=""><![CDATA[
- m
- m m/2 d
-Pnm(x) = (-1) (1-x^2) --- Pn(x)
- m
- dx
- ]]></programlisting>
<para>
onde <literal>Pn</literal> é o polinômio de Legendre de grau
<literal>n</literal>. Então, <literal>legendre(n,0,x)</literal> avalia o
<para>Quando normflag é igual a "norm" o resultado é uma versão
normalizada (sem o fator <literal>(-1)^m</literal> ), precisamente :
</para>
- <programlisting role=""><![CDATA[
- _____________ m
- /(2n+1)(n-m)! m/2 d
-Pnm(x,"norm") = /-------------- (1-x^2) --- Pn(x)
- \/ 2 (n+m)! m
- dx
- ]]></programlisting>
+ <para>
+ <latex style="display" fontsize="18"
+ alt="Pn|m(x,norm)=sqrt[(2n+1)/2 .(n-m)!/(n+m)!].(1-x^2)^{m/2}.d^m[Pn(x)]/dx^m">
+ P_n^m(x,norm)=\sqrt{\frac{2n+1}{2}\frac{(n-m)!}{(n+m)!}}\cdot(1-x^2)^{m/2}\cdot\frac{d^mP_n(x)}{dx^m}
+ </latex>
+ </para>
<para>que é útil para computar funções harmônicas esféricas (ver exemplo
3):
</para>
* 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="binomial" xml:lang="en">
+<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="binomial" xml:lang="en">
<refnamediv>
<refname>binomial</refname>
<refpurpose>binomial distribution probabilities</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Syntax</title>
- <synopsis>pr=binomial(p,n)</synopsis>
+ <synopsis>pr = binomial(p, n)</synopsis>
</refsynopsisdiv>
<refsection>
<title>Arguments</title>
random variable following the B(n,p) distribution, and numerically
:
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../../mml/binomial_equation_1_en_US.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" alt="pr(k+1) = p^k (1-p)^(n-k) n!/[k!(n-k)!]">
+ pr(k+1)=\left(\frac{n!}{k!\,(n-k)!}\right)\,p^k\,(1-p)^{n-k}
+ </latex>
+ </para>
</refsection>
<refsection>
<title>Examples</title>
* 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="binomial" xml:lang="ja">
+<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="binomial" xml:lang="ja">
<refnamediv>
<refname>binomial</refname>
<refpurpose>2項分布確率</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>呼び出し手順</title>
- <synopsis>pr=binomial(p,n)</synopsis>
+ <synopsis>pr = binomial(p, n)</synopsis>
</refsynopsisdiv>
<refsection>
<title>パラメータ</title>
<literal>pr(k+1) = probability(X=k)</literal>で,
数値的には以下のようになります :
</para>
- <informalequation>
- <mediaobject>
- <imageobject>
- <imagedata align="center" fileref="../../mml/binomial_equation_1_en_US.mml"/>
- </imageobject>
- </mediaobject>
- </informalequation>
+ <para>
+ <latex style="display" alt="pr(k+1) = p^k (1-p)^(n-k) n!/[k!(n-k)!]">
+ pr(k+1)=\left(\frac{n!}{k!\,(n-k)!}\right)\,p^k\,(1-p)^{n-k}
+ </latex>
+ </para>
</refsection>
<refsection>
<title>例</title>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">
-<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">
- <math:semantics>
- <math:mrow>
- <math:mi math:fontstyle="italic">pr</math:mi>
- <math:mrow>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mi>k</math:mi>
- <math:mo math:stretchy="false">+</math:mo>
- <math:mn>1</math:mn>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mrow>
- <math:mrow>
- <math:mfenced math:open="" math:close="">
- <math:mtable>
- <math:mtr>
- <math:mi>n</math:mi>
- </math:mtr>
- <math:mtr>
- <math:mi>k</math:mi>
- </math:mtr>
- </math:mtable>
- </math:mfenced>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:msup>
- <math:mi>p</math:mi>
- <math:mi>k</math:mi>
- </math:msup>
- </math:mrow>
- <math:mo math:stretchy="false">⋅</math:mo>
- <math:msup>
- <math:mrow>
- <math:mo math:stretchy="false">(</math:mo>
- <math:mrow>
- <math:mn>1</math:mn>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mi>p</math:mi>
- </math:mrow>
- <math:mo math:stretchy="false">)</math:mo>
- </math:mrow>
- <math:mrow>
- <math:mi>n</math:mi>
- <math:mo math:stretchy="false">−</math:mo>
- <math:mi>k</math:mi>
- </math:mrow>
- </math:msup>
- </math:mrow>
- </math:mrow>
- <math:mtext> with </math:mtext>
- <math:mrow>
- <math:mfenced math:open="" math:close="">
- <math:mtable>
- <math:mtr>
- <math:mi>n</math:mi>
- </math:mtr>
- <math:mtr>
- <math:mi>k</math:mi>
- </math:mtr>
- </math:mtable>
- </math:mfenced>
- <math:mo math:stretchy="false">=</math:mo>
- <math:mfrac>
- <math:mrow>
- <math:mi>n</math:mi>