* Bug 7967 fixed [doc]: size(meshgrid(..)) better documented
[scilab.git] / scilab / modules / elementary_functions / help / fr_FR / elementarymatrices / meshgrid.xml
index deea52c..e916060 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Farid BELAHCENE
+ * Copyright (C) 2012 - 2016 - Scilab Enterprises
+ * Copyright (C) 2020 - Samuel GOUGEON
+ *
+ * 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="meshgrid" xml:lang="fr">
     <refnamediv>
         <refname>meshgrid</refname>
-        <refpurpose>construit des matrices ou des tableaux 3-D</refpurpose>
+        <refpurpose>
+            construit des matrices ou hypermatrices en répliquant des vecteurs en 2 ou 3 dimensions
+        </refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Séquence d'appel</title>
-        <synopsis>[X, Y] = meshgrid(x)
-            [X, Y] = meshgrid(x,y)
-            [X, Y, Z] = meshgrid(x,y,z)
+        <synopsis>
+            U = meshgrid(u)
+            [U, V] = meshgrid(u)
+            [X, Y] = meshgrid(x, y)
+            [X, Y, Z] = meshgrid(x, y, z)
         </synopsis>
     </refsynopsisdiv>
     <refsection>
         <title>Paramètres</title>
         <variablelist>
             <varlistentry>
-                <term>x, y, z</term>
+                <term>u, x, y, z</term>
                 <listitem>
-                    <para>des vecteurs</para>
+                    Vecteurs de types quelconques, de tailles nu, nx, ny, nz.
+                    <para/>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>U, V</term>
+                <listitem>
+                    Matrices carrées, de taille nu x nu
+                    <para/>
                 </listitem>
             </varlistentry>
             <varlistentry>
                 <term>X, Y, Z</term>
                 <listitem>
-                    <para>des matrices dans le cas de 2 arguments d'entrées, sinon des
-                        tableaux des tableaux 3-D dans le cas de 3 arguments
-                        d'entrées
-                    </para>
+                    Matrices ou hypermatrices de mêmes tailles
+                    [<emphasis role="bold">ny</emphasis>, nx] ou
+                    [<emphasis role="bold">ny</emphasis>, nx, nz].
+                    <para/>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
     <refsection>
         <title>Description</title>
-        <para>Construit des matrices ou des tableaux 3-D.</para>
+        <para>
+            meshgrid(..) construit des matrices ou des hypermatrices 3-D par réplication
+            en 2 ou 3 dimensions des vecteurs donnés.
+        </para>
+        <para>
+            <note>
+                Pour créer des tableaux de taille [<emphasis role="bold">nx</emphasis>, ny]
+                au lieu de [ny, nx], ou avec plus de 3
+                dimensions, utiliser <literal>ndgrid(x, y)</literal> ou
+                <literal>ndgrid(x, y, z,..)</literal>.
+            </note>
+        </para>
+        <para>
+            <warning>
+                La plupart des fonctions graphiques 2D ou 3D de Scilab telles que
+                <literal>champ()</literal>,
+                <literal>grayplot()</literal>, <literal>Sgrayplot()</literal>,
+                <literal>plot3d()</literal>, <literal>contour()</literal>, etc.. travaillent
+                directement avec des grilles de coordonnées générées par <literal>ndgrid()</literal>,
+                non de <literal>meshgrid()</literal>. Les données calculées à partir d'une
+                grille issue de <literal>meshgrid()</literal> devront être transposées
+                (voir l'exemple ci-dessous).
+            </warning>
+        </para>
     </refsection>
     <refsection>
         <title>Exemples</title>
         <programlisting role="example"><![CDATA[
-x = -1:0.1:1;
-[X,Y] = meshgrid(x);
+[X, Y] = meshgrid(0:2)
+ ]]></programlisting>
+    <screen>
+--> [X, Y] = meshgrid(0:2)
+ X  =
+   0.   1.   2.
+   0.   1.   2.
+   0.   1.   2.
+
+ Y  =
+   0.   0.   0.
+   1.   1.   1.
+   2.   2.   2.
+</screen>
+        <para/>
+        <programlisting role="example"><![CDATA[
+[X, Y] = meshgrid(["a" "bc" "αβγδ"], [-3 5])
+ ]]></programlisting>
+    <screen>
+--> [X, Y] = meshgrid(["a" "bc" "αβγδ"], [-3 5])
+ X  =
+!a  bc  αβγδ  !
+!a  bc  αβγδ  !
+
+ Y  =
+  -3.  -3.  -3.
+   5.   5.   5.
+</screen>
+        <para/>
+        <para>
+            Application aux grilles graphiques :
+        </para>
+        <programlisting role="example"><![CDATA[
+// Production des données à illustrer
+x = -1:0.1:1.7;
+y = -1:0.1:1;
+[X, Y] = meshgrid(x, y);
 Z = sinc(2*%pi * X.*Y);
+
+// Préparation de la fenêtre graphique
+clf
+drawlater
+gcf().color_map = parulacolormap(64);
+gcf().axes_size = [650 530];
+
+// Affichage graphique
+subplot(2,2,1)
+Sgrayplot(x, y, Z')
+title(["Sgrayplot(x, y, Z'' ) " "$←\;Z^t\; requis$"], "fontsize",3)
+isoview, colorbar
+
+subplot(2,2,2)
+plot3d(x, y, Z', -125,50)
+gce().color_flag = 1;
+title(["plot3d(x, y, Z'' ) " "$←\;Z^t\; requis$"], "fontsize",3)
+isoview
+
+subplot(2,2,3)
+champ(x,y,sin(2*X'),cos(2*Y'))
+title(["champ(x, y, sin(X'' ),cos(Y'' ))" "$←\;X^t\;\;Y^t\; requis$"], "fontsize",3)
+isoview
+
+subplot(2,2,4)
 surf(X, Y, Z)
+title("surf(X, Y, Z)", "fontsize",3)
+isoview
+
+gcf().children.tight_limits = ["on" "on" "on"];
+drawnow
  ]]></programlisting>
+        <para/>
         <scilab:image>
-            x = -1:0.1:1;
-            [X,Y] = meshgrid(x);
-            Z = sinc(2*%pi*X.*Y);
+            // Generating data
+            x = -1:0.1:1.7;
+            y = -1:0.1:1;
+            [X, Y] = meshgrid(x, y);
+            Z = sinc(2*%pi * X.*Y);
+
+            // Setting the graphic figure
+            clf
+            drawlater
+            gcf().color_map = parulacolormap(64);
+            gcf().axes_size = [650 530];
+
+            // Plotting
+            subplot(2,2,1)
+            Sgrayplot(x, y, Z')
+            title(["Sgrayplot(x, y, Z'' ) " "$←\;Z^t\; required$"], "fontsize",3)
+            isoview, colorbar
+
+            subplot(2,2,2)
+            plot3d(x, y, Z', -125,50)
+            gce().color_flag = 1;
+            title(["plot3d(x, y, Z'' ) " "$←\;Z^t\; required$"], "fontsize",3)
+            isoview
+
+            subplot(2,2,3)
+            champ(x,y,sin(2*X'),cos(2*Y'))
+            title(["champ(x, y, sin(X'' ),cos(Y'' ))" "$←\;X^t\;\;Y^t\; required$"], "fontsize",3)
+            isoview
+
+            subplot(2,2,4)
             surf(X, Y, Z)
+            title("surf(X, Y, Z)", "fontsize",3)
+            isoview
+
+            gcf().children.tight_limits = ["on" "on" "on"];
+            drawnow
         </scilab:image>
     </refsection>
     <refsection role="see also">
@@ -60,6 +207,9 @@ surf(X, Y, Z)
                 <link linkend="ndgrid">ndgrid</link>
             </member>
             <member>
+                <link linkend="repmat">repmat</link>
+            </member>
+            <member>
                 <link linkend="feval">feval</link>
             </member>
         </simplelist>