help pages: consolebox harmean ndgrid 24/17924/24
Samuel GOUGEON [Mon, 14 Mar 2016 10:23:17 +0000 (11:23 +0100)]
* consolebox: (fr) translation added
* harmean: %pi comment fixed. Extended overhaul. (fr) added.
* iconvert (pt): encoding to UTF-8 fixed (bad conversion into HTML)
* ndgrid: extra blank lines, typos, wrong <screen> fixed

Change-Id: Iafdf51c31fd5130f1be7e8418ea33d446de13b16

scilab/modules/elementary_functions/help/en_US/elementarymatrices/ndgrid.xml
scilab/modules/elementary_functions/help/fr_FR/elementarymatrices/ndgrid.xml
scilab/modules/elementary_functions/help/ja_JP/elementarymatrices/ndgrid.xml
scilab/modules/elementary_functions/help/pt_BR/elementarymatrices/ndgrid.xml
scilab/modules/elementary_functions/help/ru_RU/elementarymatrices/ndgrid.xml
scilab/modules/integer/help/pt_BR/iconvert.xml
scilab/modules/statistics/help/en_US/central_tendency/harmean.xml
scilab/modules/statistics/help/fr_FR/central_tendency/harmean.xml [new file with mode: 0644]
scilab/modules/statistics/help/ja_JP/central_tendency/harmean.xml
scilab/modules/windows_tools/help/fr_FR/consolebox.xml [new file with mode: 0644]

index 8846049..426c884 100644 (file)
@@ -3,7 +3,6 @@
     <refnamediv>
         <refname>ndgrid</refname>
         <refpurpose>build matrices or N-D arrays by replicating some template vectors
-            
         </refpurpose>
     </refnamediv>
     <refsynopsisdiv>
             Hence, the matrix or hypermatrix <literal>X</literal> is made by replicating the vector <literal>x</literal> as all its columns ; the matrix or hypermatrix <literal>Y</literal> is made by replicating the vector <literal>y</literal> as all its rows ; <literal>Z</literal> is made of replicating the vector <literal>z</literal> along all its local thicknesses (3rd dimension); etc.
         </para>
         <screen><![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
- X  = 
+ X  =
    1.   1.   1.   1.
    3.   3.   3.   3.
    4.   4.   4.   4.
 
-   Y  = 
+ Y  =
    0.   2.   4.   6.
    0.   2.   4.   6.
    0.   2.   4.   6.
             Then we want to build the set of all {n,c} possible pairs. It will just be the 2D grid:
         </para>
         <screen><![CDATA[--> [N, C] = ndgrid([3 7],["a" "e" "i" "o" "u" "y"])
- C  = 
+ C  =
 !a  e  i  o  u  y  !
 !a  e  i  o  u  y  !
 
- N  = 
+ N  =
    3.   3.   3.   3.   3.   3.
    7.   7.   7.   7.   7.   7.
 ]]></screen>
@@ -88,7 +87,7 @@
         <para>
             <emphasis role="bold">Example #1:</emphasis>
         </para>
-        <programlisting role="example"><![CDATA[  
+        <programlisting role="example"><![CDATA[
 // Create a simple 2d grid
 x = linspace(-10,2,40);
 y = linspace(-5,5,40);
@@ -96,10 +95,11 @@ y = linspace(-5,5,40);
 
 // Compute ordinates Z(X,Y) on the {X, Y} grid and plot Z(X,Y)
 Z = X - 3*X.*sin(X).*cos(Y-4) ;
+
 clf()
 plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
  ]]></programlisting>
-        <scilab:image><![CDATA[  
+        <scilab:image><![CDATA[
 x = linspace(-10,2,40);
 y = linspace(-5,5,40);
 
@@ -112,7 +112,7 @@ plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
         <para>
             <emphasis role="bold">Example #2:</emphasis>
         </para>
-        <programlisting role="example"><![CDATA[  
+        <programlisting role="example"><![CDATA[
 // Create a simple 3d grid
 nx = 10; ny = 6; nz = 4;
 x = linspace(0,2,nx);
@@ -149,16 +149,16 @@ z = linspace(0,0.5,nz);
 XF=[]; YF=[]; ZF=[];
 
 for k=1:nz
-       [xf,yf,zf] = nf3d(X(:,:,k),Y(:,:,k),Z(:,:,k));
-       XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
+    [xf,yf,zf] = nf3d(X(:,:,k),Y(:,:,k),Z(:,:,k));
+    XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
 end
 
 for j=1:ny
-       [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),...
-       matrix(Y(:,j,:),[nx,nz]),...
-       matrix(Z(:,j,:),[nx,nz]));
+    [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),...
+                      matrix(Y(:,j,:),[nx,nz]),...
+                      matrix(Z(:,j,:),[nx,nz]));
 
-       XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
+    XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
 end
 
 plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
@@ -167,17 +167,17 @@ xtitle("A 3d grid !");
         <para>
             <emphasis role="bold">Example #3: Creates a table of digrams:</emphasis>
         </para>
-        <programlisting role="example"><![CDATA[  
+        <programlisting role="example"><![CDATA[
 [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
 c1+c2
  ]]></programlisting>
         <screen><![CDATA[--> [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
- c2  = 
+ c2  =
 !a  b  c  d  e  f  g  h  !
 !a  b  c  d  e  f  g  h  !
 !a  b  c  d  e  f  g  h  !
 
- c1  = 
+ c1  =
 !a  a  a  a  a  a  a  a  !
 !b  b  b  b  b  b  b  b  !
 !c  c  c  c  c  c  c  c  !
index a4196c8..b4bbcc5 100644 (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: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="ndgrid" xml:lang="fr">
-    
     <refnamediv>
-        
         <refname>ndgrid</refname>
-        
         <refpurpose>construit des matrices ou hypermatrices en répliquant des vecteurs
-            
         </refpurpose>
-        
     </refnamediv>
-    
     <refsynopsisdiv>
-        
         <title>Séquences d'appel</title>
-        
-        <synopsis>[X, Y] = ndgrid(x,y)
-            
+        <synopsis>
+            [X, Y] = ndgrid(x,y)
             [X, Y, Z] = ndgrid(x,y,z)
-            
             [X, Y, Z, T] = ndgrid(x,y,z,t)
-            
             [X1, X2, ..., Xm] = ndgrid(x1,x2,...,xm)
-            
         </synopsis>
-        
     </refsynopsisdiv>
-    
     <refsection role="arguments">
-        
         <title>Paramètres</title>
-        
         <variablelist>
-            
             <varlistentry>
-                
                 <term>x, y, z, ...</term>
-                
                 <listitem>
-                    
                     <para>vecteurs de types simples quelconques possiblement
-                        
                         distincts (booléens,
-                        
                         entiers encodés, décimaux, complexes, polynômes, rationnels,
-                        
                         textes).
                     </para>
-                    
                 </listitem>
-                
             </varlistentry>
-            
             <varlistentry>
-                
                 <term>X, Y, Z, ...</term>
-                
                 <listitem>
-                    
                     <para>Matrices (si seulement 2 vecteurs d'entrée),
-                        
                         ou hypermatrices, toutes de tailles identiques :
                        size(x,"*") lignes, size(y,"*") colonnes,
-                        
                         size(z,"*") feuilles, etc.
                   </para>
                   <para>Par ailleurs,
                         <varname>X</varname> a le type de <varname>x</varname>;
-                        
                         <varname>Y</varname> a le type de <varname>y</varname>;
-                        
                         etc.
-                        
                     </para>
-                    
                 </listitem>
-                
             </varlistentry>
-            
         </variablelist>
-        
     </refsection>
-    
     <refsection role="description">
-        
         <title>Description</title>
-        
         <para>
             La première application de <function>ndgrid</function> consiste à
-            
             construire une grille multidimensionnelle de noeuds échantillonnant
-            
             l'espace 2D ou 3D ou N-D, à partir de 2, 3 ou N vecteurs
-            
             <literal>x</literal>, <literal> y</literal>, etc.. indiquant
-            
             l'échantillonage de chaque direction de l'espace.
-            
         </para>
-        
         <para>Pour ce faire,
-            
             <itemizedlist>
-                
                 <listitem>la matrice ou l'hypermatrice <literal>X</literal>
-                
                 est construite en répliquant le vecteur  <literal>x</literal>
-                
                 dans toutes ses colonnes ;
-                
             </listitem>
-             
-            
             <listitem>
                 la matrice ou l'hypermatrice <literal>Y</literal>
-                
                 est construite en répliquant le vecteur  <literal>y</literal>
-                
                 dans toutes ses lignes ;
-                
             </listitem>
-             
-            
             <listitem>
                 la matrice ou l'hypermatrice <literal>Z</literal>
-                
                 est construite en répliquant le vecteur  <literal>z</literal>
-                
                 en épaisseur pour tous les points (x,y) ;
-                
                 etc.
-                
             </listitem>
-            
         </itemizedlist>
-        
     </para>
-    
-    <screen>
-        
-        <![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
+    <screen><![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
  X  =
    1.   1.   1.   1.
    3.   3.   3.   3.
    4.   4.   4.   4.
 
-   Y  =
+ Y  =
    0.   2.   4.   6.
    0.   2.   4.   6.
    0.   2.   4.   6.
 ]]>
     </screen>
-    
     <para>
-        
         Les coordonnées du noeud node(i,j) dans l'espace 2D seront alors
-        
         simplement <literal>[x(i), y(j)]</literal> maintenant données par
-        
         <literal>[X(i,j), Y(i,j)]</literal>. De même, les coordonnées du noeud
-        
         <literal>node(i,j,k)</literal> dans une grille 3D seront
-        
         <literal>[x(i), y(j), z(k)]</literal> données par
-        
         <literal>[X(i,j,k), Y(i,j,k), Z(i,j,k)]</literal>.
-        
     </para>
-    
     <para>Ce schéma de construction par réplication peut être utilisé
-        
         pour construire une grille à un nombre N quelconque de dimensions.
-        
         Par ailleurs, il est indépendant de la nature des vecteurs de base répliqués
-        
         et peut donc être utilisé pour tous les types de données uniformes.
-        
         A titre d'exemple, considérons un ensemble d'objets ayant tous 2 attributs :
-        
         <orderedlist>
-            
             <listitem>
                 Le premier est un nombre <literal>n</literal>,
-                
                 avec 2 valeurs possibles, par exemple: <literal>n = [ 3 7 ]</literal>
-                
             </listitem>
-            
             <listitem>Le second est une lettre, avec 6 choix possibles,
-                
                 par exemple: <literal>c = ["a" "e" "i" "o" "u" "y"]</literal>
-                
             </listitem>
-            
         </orderedlist>
-        
         Nous souhaitons maintenant générer l'ensemble complet des
-        
         objets {n,c} possibles. Il s'agit juste d'une grille 2D
-        
         d'<literal>objets</literal> :
-        
     </para>
-    
-    <screen>
-        
-        <![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
- X  =
-   1.   1.   1.   1.
-   3.   3.   3.   3.
-   4.   4.   4.   4.
+    <screen><![CDATA[--> [N, C] = ndgrid([3 7],["a" "e" "i" "o" "u" "y"])
+ C  =
+!a  e  i  o  u  y  !
+!a  e  i  o  u  y  !
 
-   Y  =
-   0.   2.   4.   6.
-   0.   2.   4.   6.
-   0.   2.   4.   6.
-]]>
-    </screen>
-    
+ N  =
+   3.   3.   3.   3.   3.   3.
+   7.   7.   7.   7.   7.   7.
+]]></screen>
     <para>De là, l'objet(i,j) aura les attributs
-        
         <literal>{n(i) c(j)}</literal> que l'on pourra maintenant désigner par
-        
         <literal>{N(i,j) C(i,j)}</literal>.
-        
         Ce type de grille pourra être utilisée pour initialiser un tableau
-        
         2D de structures ayant 2 champs <literal>n</literal> et <literal>c</literal>.
-        
     </para>
-    
     <para>Les exemples suivants montrent comment utiliser les matrices ou
-        
         hypermatrices <varname>X, Y, Z</varname> produites, pour des applications
-        
         usuelles.
-        
     </para>
-     
-    
 </refsection>
-
 <refsection role="examples">
-    
     <title>Exemples</title>
-    
-    
-    
     <para>
         <emphasis role="bold">Exemple #1:</emphasis>
     </para>
-    
     <programlisting role="example"><![CDATA[
 // Créons une grille de points {X,Y}
 x = linspace(-10,2,40);
@@ -260,32 +143,21 @@ y = linspace(-5,5,40);
 
 // Calculons des ordonnées Z(X,Y) et traçons Z(X,Y) :
 Z = X - 3*X.*sin(X).*cos(Y-4) ;
+
 clf()
 plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
  ]]></programlisting>
-    
     <scilab:image>
-        
         x = linspace(-10,2,40);
-        
         y = linspace(-5,5,40);
-        
         [X,Y] = ndgrid(x,y);
-        
         Z = X - 3*X.*sin(X).*cos(Y-4) ;
-        
         clf()
-        
         plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
-        
     </scilab:image>
-    
-    
-    
     <para>
         <emphasis role="bold">Exemple #2:</emphasis>
     </para>
-    
     <programlisting role="example"><![CDATA[
 // Créons une grille en 3 dimensions
 nx = 10; ny = 6; nz = 4;
@@ -298,12 +170,10 @@ z = linspace(0,0.5,nz);
 // aussi travailler en coordonnées cylindriques, sphériques, ou autres.
 // Transformons les coordonnées pour plot3d() :
 XF=[]; YF=[]; ZF=[];
-
 for k=1:nz
    [xf,yf,zf] = nf3d(X(:,:,k),Y(:,:,k),Z(:,:,k));
    XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
 end
-
 for j=1:ny
    [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),...
                      matrix(Y(:,j,:),[nx,nz]),...
@@ -316,65 +186,34 @@ clf()
 plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
 xtitle("A 3d grid !"); show_window()
  ]]></programlisting>
-    
     <scilab:image>
-        
         nx = 10; ny = 6; nz = 4;
-        
         x = linspace(0,2,nx);
-        
         y = linspace(0,1,ny);
-        
         z = linspace(0,0.5,nz);
-        
         [X,Y,Z] = ndgrid(x,y,z);
-        
-        
-        
         XF=[]; YF=[]; ZF=[];
-        
-        
-        
         for k=1:nz
-        
         [xf,yf,zf] = nf3d(X(:,:,k),Y(:,:,k),Z(:,:,k));
-        
         XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
-        
         end
-        
-        
-        
         for j=1:ny
-        
         [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),...
-        
         matrix(Y(:,j,:),[nx,nz]),...
-        
         matrix(Z(:,j,:),[nx,nz]));
-        
         XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
-        
         end
-        
         plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
-        
         xtitle("A 3d grid !");
-        
     </scilab:image>
-    
     <para>
         <emphasis role="bold">Exemple #3: création d'une table de digrammes</emphasis>
     </para>
-    
     <programlisting role="example"><![CDATA[
 [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
 c1+c2
  ]]></programlisting>
-    
-    <screen>
-        
-        <![CDATA[--> [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
+    <screen><![CDATA[--> [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
  c2  =
 !a  b  c  d  e  f  g  h  !
 !a  b  c  d  e  f  g  h  !
@@ -390,64 +229,33 @@ c1+c2
 !aa  ab  ac  ad  ae  af  ag  ah  !
 !ba  bb  bc  bd  be  bf  bg  bh  !
 !ca  cb  cc  cd  ce  cf  cg  ch  !
-]]>
-    </screen>
-    
+]]></screen>
 </refsection>
-
 <refsection role="see also">
-    
     <title>Voir aussi</title>
-    
     <simplelist type="inline">
-        
         <member>
-            
             <link linkend="meshgrid">meshgrid</link>
-            
         </member>
-        
         <member>
-            
             <link linkend="kron">kron</link>
-            
         </member>
-        
         <member>
-            
             <link linkend="feval">feval</link>
-            
         </member>
-        
         <member>
-            
             <link linkend="nf3d">nf3d</link>
-            
         </member>
-        
     </simplelist>
-    
 </refsection>
-
 <refsection role="history">
-    
     <title>Historique</title>
-    
     <revhistory>
-        
         <revision>
-            
             <revnumber>6.0</revnumber>
-            
             <revdescription>Extension à tous les types de données uniformes ([], booleans, encoded integers, polynomials, rationals, strings). Révision de la page d'aide.
-                
             </revdescription>
-            
         </revision>
-        
     </revhistory>
-    
 </refsection>
-
 </refentry>
-
index 5519a48..95dee01 100644 (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: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="ndgrid" xml:lang="ja">
-
 <refnamediv>
-    
     <refname>ndgrid</refname>
-    
     <refpurpose>与えられたベクトルを複製することによって、行列またはN次元配列を作成
-        
     </refpurpose>
-    
 </refnamediv>
-
 <refsynopsisdiv>
-    
     <title>呼び出し手順</title>
-    
-    <synopsis>[X, Y] = ndgrid(x,y)
-        
+    <synopsis>
+        [X, Y] = ndgrid(x,y)
         [X, Y, Z] = ndgrid(x,y,z)
-        
         [X, Y, Z, T] = ndgrid(x,y,z,t)
-        
         [X1, X2, ..., Xm] = ndgrid(x1,x2,...,xm)
-        
     </synopsis>
-    
 </refsynopsisdiv>
-
 <refsection role="arguments">
-    
     <title>引数</title>
-    
     <variablelist>
-        
         <varlistentry>
-            
             <term>x, y, z, ...</term>
-            
             <listitem>
-                
                 <para>vectors of any data types. They may have distinct data types.</para>
-                
             </listitem>
-            
         </varlistentry>
-        
         <varlistentry>
-            
             <term>X, Y, Z, ...</term>
-            
                 <listitem>
                     <para>Matrices in case of 2 input arguments, or hypermatrices otherwise.
-                        
                         They all have the same sizes: size(x,"*") rows, size(y,"*") columns,
-                        
                         size(z,"*") layers, etc.
                   </para>
                   <para>
-                        
                         They have the datatypes of respective input vectors:
-                        
                         <literal>typeof(X)==typeof(x)</literal>,
-                        
                         <literal>typeof(Y)==typeof(y)</literal>, etc.
-                        
                     </para>
-                    
                 </listitem>
         </varlistentry>
-        
     </variablelist>
-    
 </refsection>
-
 <refsection role="description">
-    
     <title>説明</title>
-    
     <para>
         The first application of <function>ndgrid</function> is to build
-        
         a grid of nodes meshing the 2D or 3D or N-D space according to 2, 3,
-        
         or more sets
-        
         <literal>x</literal>, <literal> y</literal>, etc.. of
-        
         "template" coordinates sampled along each direction/dimension of the
-        
         space that you want to mesh.
-        
     </para>
-    
     <para>
         Hence, the matrix or hypermatrix <literal>X</literal> is made
-        
         by replicating the vector <literal>x</literal> as all its columns;
-        
         the matrix or hypermatrix <literal>Y</literal> is made
-        
         by replicating the vector <literal>y</literal> as all its rows;
-        
         <literal>Z</literal> is made of replicating the vector
-        
         <literal>z</literal> along all its local thicknesses (3rd dimension);
-        
         etc
-        
     </para>
-    
-    <screen>
-        
-        <![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
+    <screen><![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
  X  =
    1.   1.   1.   1.
    3.   3.   3.   3.
    4.   4.   4.   4.
 
-   Y  =
+ Y  =
    0.   2.   4.   6.
    0.   2.   4.   6.
    0.   2.   4.   6.
-]]>
-    </screen>
-    
+]]></screen>
     <para>
-        
         Then, the coordinates of the node(i,j) in the 2D space
-        
         will be
-        
         simply <literal>[x(i), y(j)]</literal> equal to
-        
         <literal>[X(i,j), Y(i,j)]</literal>. As well, the coordinates of a
-        
         <literal>node(i,j,k)</literal> of a 3D grid will be
-        
         <literal>[x(i), y(j), z(k)]</literal> equal to
-        
         <literal>[X(i,j,k), Y(i,j,k), Z(i,j,k)]</literal>.
-        
     </para>
-    
     <para>
-        
         This replication scheme can be generalized to any number of dimensions,
-        
         as well to any type of uniform data. Let's for instance consider 2
-        
         attributes:
-        
         <orderedlist>
-            
             <listitem>The first is a number, to be chosen from the vector say
-                
                 <literal>n = [ 3 7 ]</literal>
-                
             </listitem>
-            
             <listitem>The second is a letter, to be chosen from the vector
-                
                 say <literal>c = ["a" "e" "i" "o" "u" "y"]</literal>
-                
             </listitem>
-            
         </orderedlist>
-        
         Then we want to build the set of all {n,c} possible pairs. It will
-        
         just be the 2D grid:
-        
     </para>
-    
-    <screen>
-        
-        <![CDATA[--> [N, C] = ndgrid([3 7],["a" "e" "i" "o" "u" "y"])
- C  = 
+    <screen><![CDATA[--> [N, C] = ndgrid([3 7],["a" "e" "i" "o" "u" "y"])
+ C  =
 !a  e  i  o  u  y  !
 !a  e  i  o  u  y  !
 
- N  = 
+ N  =
    3.   3.   3.   3.   3.   3.
    7.   7.   7.   7.   7.   7.
-]]>
-    </screen>
-    
+]]></screen>
     <para>Then, the object(i,j) will have the properties
-        
         <literal>{n(i) c(j)}</literal> that now can be addressed with
-        
         <literal>{N(i,j) C(i,j)}</literal>.
-        
         This kind of grid may be useful to initialize an array of structures.
-        
     </para>
-    
     <para>
         Following examples show how to use <varname>X, Y, Z</varname> in
-        
         most frequent applications.
-        
     </para>
-     
-    
 </refsection>
-
 <refsection role="examples">
-    
     <title>例</title>
-    
-    
-    
     <para>
         <emphasis role="bold">Example #1:</emphasis>
     </para>
-    
     <programlisting role="example"><![CDATA[
-// Create a simple 2d grid
+// Create a simple 2D grid
 x = linspace(-10,2,40);
 y = linspace(-5,5,40);
 [X,Y] = ndgrid(x,y);
 
 // Compute ordinates Z(X,Y) on the {X, Y} grid and plot Z(X,Y)
 Z = X - 3*X.*sin(X).*cos(Y-4) ;
+
 clf()
 plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
  ]]></programlisting>
-    
     <scilab:image>
-        
         x = linspace(-10,2,40);
-        
         y = linspace(-5,5,40);
-        
         [X,Y] = ndgrid(x,y);
-        
         Z = X - 3*X.*sin(X).*cos(Y-4) ;
-        
         clf()
-        
         plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
-        
     </scilab:image>
-    
-    
-    
     <para>
         <emphasis role="bold">Example #2:</emphasis>
     </para>
-    
     <programlisting role="example"><![CDATA[
 // 簡単な3次元グリッドを作成
 nx = 10; ny = 6; nz = 4;
@@ -257,6 +147,7 @@ x = linspace(0,2,nx);
 y = linspace(0,1,ny);
 z = linspace(0,0.5,nz);
 [X,Y,Z] = ndgrid(x,y,z);
+
 // 3次元グリッドを表示する ...
 XF=[]; YF=[]; ZF=[];
 for k=1:nz
@@ -269,63 +160,39 @@ for j=1:ny
                      matrix(Z(:,j,:),[nx,nz]));
    XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
 end
+
 clf()
 plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
 xtitle("A 3d grid !"); show_window()
  ]]></programlisting>
-    
     <scilab:image>
-        
         nx = 10; ny = 6; nz = 4;
-        
         x = linspace(0,2,nx);
-        
         y = linspace(0,1,ny);
-        
         z = linspace(0,0.5,nz);
-        
         [X,Y,Z] = ndgrid(x,y,z);
-        
         XF=[]; YF=[]; ZF=[];
-        
         for k=1:nz
-        
         [xf,yf,zf] = nf3d(X(:,:,k),Y(:,:,k),Z(:,:,k));
-        
         XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
-        
         end
-        
         for j=1:ny
-        
         [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),...
-        
         matrix(Y(:,j,:),[nx,nz]),...
-        
         matrix(Z(:,j,:),[nx,nz]));
-        
         XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
-        
         end
-        
         plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
-        
         xtitle("A 3d grid !");
-        
     </scilab:image>
-    
     <para>
         <emphasis role="bold">Example #3: Create a table of digrams:</emphasis>
     </para>
-    
     <programlisting role="example"><![CDATA[
 [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
 c1+c2
  ]]></programlisting>
-    
-    <screen>
-        
-        <![CDATA[--> [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
+    <screen><![CDATA[--> [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
  c2  =
 !a  b  c  d  e  f  g  h  !
 !a  b  c  d  e  f  g  h  !
@@ -341,63 +208,33 @@ c1+c2
 !aa  ab  ac  ad  ae  af  ag  ah  !
 !ba  bb  bc  bd  be  bf  bg  bh  !
 !ca  cb  cc  cd  ce  cf  cg  ch  !
-]]>
-    </screen>
-    
+]]></screen>
 </refsection>
-
 <refsection role="see also">
-    
     <title>参照</title>
-    
     <simplelist type="inline">
-        
         <member>
-            
             <link linkend="meshgrid">meshgrid</link>
-            
         </member>
-        
         <member>
-            
             <link linkend="kron">kron</link>
-            
         </member>
-        
         <member>
-            
             <link linkend="feval">feval</link>
-            
         </member>
-        
         <member>
-            
             <link linkend="nf3d">nf3d</link>
-            
         </member>
-        
     </simplelist>
-    
 </refsection>
-
 <refsection role="history">
-    
     <title>履歴</title>
-    
     <revhistory>
-        
         <revision>
-            
             <revnumber>6.0</revnumber>
-            
             <revdescription>Extension to all homogeneous datatypes ([], booleans, encoded integers, polynomials, rationals, strings). Revision of the help page.
-                
             </revdescription>
-            
         </revision>
-        
     </revhistory>
-    
 </refsection>
-
 </refentry>
index b7e7883..1388849 100644 (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: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="ndgrid" xml:lang="pt">
-
 <refnamediv>
-    
     <refname>ndgrid</refname>
-    
     <refpurpose>constrói matrizes ou matrizes N-D, replicando alguns vetores dadas
-        
     </refpurpose>
-    
 </refnamediv>
-
 <refsynopsisdiv>
-    
     <title>Seqüência de Chamamento</title>
-    
-    <synopsis>[X, Y] = ndgrid(x,y)
-        
+    <synopsis>
+        [X, Y] = ndgrid(x,y)
         [X, Y, Z] = ndgrid(x,y,z)
-        
         [X, Y, Z, T] = ndgrid(x,y,z,t)
-        
         [X1, X2, ..., Xm] = ndgrid(x1,x2,...,xm)
-        
     </synopsis>
-    
 </refsynopsisdiv>
-
 <refsection role="arguments">
-    
     <title>Parâmetros</title>
-    
     <variablelist>
-        
         <varlistentry>
-            
             <term>x, y, z, ...</term>
-            
             <listitem>
-                
                 <para>vetores de quaisquer tipos de dados.
-                    
                     Eles podem ter tipos de dados distintos.
                 </para>
-                
             </listitem>
-            
         </varlistentry>
-        
         <varlistentry>
-            
             <term>X, Y, Z, ...</term>
-            
                 <listitem>
-                    
                     <para>matrices in case of 2 input arguments, or hypermatrices otherwise.
-                        
                         They all have the same sizes: size(x,"*") rows, size(x,"*") columns,
-                        
                         size(z,"*") layers, etc.
-                        
                         They have the datatypes of respective input vectors:
-                        
                         <literal>typeof(X)==typeof(x)</literal>,
-                        
                         <literal>typeof(Y)==typeof(y)</literal>, etc.
-                        
                     </para>
-                    
                 </listitem>
-            
         </varlistentry>
-        
     </variablelist>
-    
 </refsection>
-
 <refsection role="description">
-    
     <title>Descrição</title>
-    
     <para>
         The first application of <function>ndgrid</function> is to build
-        
         a grid of nodes meshing the 2D or 3D or N-D space according to 2, 3,
-        
         or more sets
-        
         <literal>x</literal>, <literal> y</literal>, etc.. of
-        
         "template" coordinates sampled along each direction/dimension of the
-        
         space that you want to mesh.
-        
     </para>
-    
     <para>
         Hence, the matrix or hypermatrix <literal>X</literal> is made
-        
         by replicating the vector <literal>x</literal> as all its columns;
-        
         the matrix or hypermatrix <literal>Y</literal> is made
-        
         by replicating the vector <literal>y</literal> as all its rows;
-        
         <literal>Z</literal> is made of replicating the vector
-        
         <literal>z</literal> along all its local thicknesses (3rd dimension);
-        
         etc
-        
     </para>
-    
-    <screen>
-        
-        <![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
+    <screen><![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
  X  =
    1.   1.   1.   1.
    3.   3.   3.   3.
    4.   4.   4.   4.
 
-   Y  =
+ Y  =
    0.   2.   4.   6.
    0.   2.   4.   6.
    0.   2.   4.   6.
-]]>
-    </screen>
-    
+]]></screen>
     <para>
-        
         Then, the coordinates of the node(i,j) in the 2D space
-        
         will be
-        
         simply <literal>[x(i), y(j)]</literal> equal to
-        
         <literal>[X(i,j), Y(i,j)]</literal>. As well, the coordinates of a
-        
         <literal>node(i,j,k)</literal> of a 3D grid will be
-        
         <literal>[x(i), y(j), z(k)]</literal> equal to
-        
         <literal>[X(i,j,k), Y(i,j,k), Z(i,j,k)]</literal>.
-        
     </para>
-    
     <para>
-        
         This replication scheme can be generalized to any number of dimensions,
-        
         as well to any type of uniform data. Let's for instance consider 2
-        
         attributes:
-        
         <orderedlist>
-            
             <listitem>The first is a number, to be chosen from the vector say
-                
                 <literal>n = [ 3 7 ]</literal>
-                
             </listitem>
-            
             <listitem>The second is a letter, to be chosen from the vector
-                
                 say <literal>c = ["a" "e" "i" "o" "u" "y"]</literal>
-                
             </listitem>
-            
         </orderedlist>
-        
         Then we want to build the set of all {n,c} possible pairs. It will
-        
         just be the 2D grid:
-        
     </para>
-    
-    <screen>
-        
-        <![CDATA[--> [N, C] = ndgrid([3 7],["a" "e" "i" "o" "u" "y"])
+    <screen><![CDATA[--> [N, C] = ndgrid([3 7],["a" "e" "i" "o" "u" "y"])
  C  =
 !a  e  i  o  u  y  !
 !a  e  i  o  u  y  !
  N  =
    3.   3.   3.   3.   3.   3.
    7.   7.   7.   7.   7.   7.
-]]>
-    </screen>
-    
+]]></screen>
     <para>Then, the object(i,j) will have the properties
-        
         <literal>{n(i) c(j)}</literal> that now can be addressed with
-        
         <literal>{N(i,j) C(i,j)}</literal>.
-        
         This kind of grid may be useful to initialize an array of structures.
-        
     </para>
-    
     <para>
         Following examples show how to use <varname>X, Y, Z</varname> in
-        
         most frequent applications.
-        
     </para>
-     
-    
 </refsection>
-
 <refsection role="examples">
-    
     <title>Exemplos </title>
-    
-    
-    
     <para>
         <emphasis role="bold">Example #1:</emphasis>
     </para>
-    
     <programlisting role="example"><![CDATA[
 // Criando um grid 2d simples
 x = linspace(-10,2,40);
@@ -227,32 +125,21 @@ y = linspace(-5,5,40);
 
 // Compute ordinates Z(X,Y) on the {X, Y} grid and plot Z(X,Y)
 Z = X - 3*X.*sin(X).*cos(Y-4) ;
+
 clf()
 plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
  ]]></programlisting>
-    
     <scilab:image>
-        
         x = linspace(-10,2,40);
-        
         y = linspace(-5,5,40);
-        
         [X,Y] = ndgrid(x,y);
-        
         Z = X - 3*X.*sin(X).*cos(Y-4) ;
-        
         clf()
-        
         plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
-        
     </scilab:image>
-    
-    
-    
     <para>
         <emphasis role="bold">Example #2:</emphasis>
     </para>
-    
     <programlisting role="example"><![CDATA[
 // criando um grid 3d simples
 nx = 10; ny = 6; nz = 4;
@@ -260,6 +147,7 @@ x = linspace(0,2,nx);
 y = linspace(0,1,ny);
 z = linspace(0,0.5,nz);
 [X,Y,Z] = ndgrid(x,y,z);
+
 // tente exibir este grid 3d...
 XF=[]; YF=[]; ZF=[];
 for k=1:nz
@@ -272,71 +160,39 @@ for j=1:ny
                      matrix(Z(:,j,:),[nx,nz]));
    XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
 end
+
 clf()
 plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
 xtitle("A 3d grid !"); show_window()
  ]]>    </programlisting>
-    
     <scilab:image>
-        
         nx = 10; ny = 6; nz = 4;
-        
         x = linspace(0,2,nx);
-        
         y = linspace(0,1,ny);
-        
         z = linspace(0,0.5,nz);
-        
         [X,Y,Z] = ndgrid(x,y,z);
-        
-        
-        
         XF=[]; YF=[]; ZF=[];
-        
-        
-        
         for k=1:nz
-        
         [xf,yf,zf] = nf3d(X(:,:,k),Y(:,:,k),Z(:,:,k));
-        
         XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
-        
         end
-        
-        
-        
         for j=1:ny
-        
         [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),...
-        
         matrix(Y(:,j,:),[nx,nz]),...
-        
         matrix(Z(:,j,:),[nx,nz]));
-        
         XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
-        
         end
-        
         plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
-        
         xtitle("A 3d grid !");
-        
     </scilab:image>
-    
-    
-    
     <para>
         <emphasis role="bold">Example #3: Create a table of digrams:</emphasis>
     </para>
-    
     <programlisting role="example"><![CDATA[
 [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
 c1+c2
  ]]>    </programlisting>
-    
-    <screen>
-        
-        <![CDATA[--> [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
+    <screen><![CDATA[--> [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
  c2  =
 !a  b  c  d  e  f  g  h  !
 !a  b  c  d  e  f  g  h  !
@@ -352,67 +208,34 @@ c1+c2
 !aa  ab  ac  ad  ae  af  ag  ah  !
 !ba  bb  bc  bd  be  bf  bg  bh  !
 !ca  cb  cc  cd  ce  cf  cg  ch  !
-]]>
-    </screen>
-    
-    
-    
+]]></screen>
 </refsection>
-
 <refsection role="see also">
-    
     <title>Ver Também</title>
-    
     <simplelist type="inline">
-        
         <member>
-            
             <link linkend="meshgrid">meshgrid</link>
-            
         </member>
-        
         <member>
-            
             <link linkend="kron">kron</link>
-            
         </member>
-        
         <member>
-            
             <link linkend="feval">feval</link>
-            
         </member>
-        
         <member>
-            
             <link linkend="nf3d">nf3d</link>
-            
         </member>
-        
     </simplelist>
-    
 </refsection>
-
 <refsection role="history">
-    
     <title>Histórico</title>
-    
     <revhistory>
-        
         <revision>
-            
             <revnumber>6.0</revnumber>
-            
             <revdescription>Extension to all homogeneous datatypes ([], booleans, encoded integers,
               polynomials, rationals, strings). Revision of the help page.
-                
             </revdescription>
-            
         </revision>
-        
     </revhistory>
-    
 </refsection>
-
 </refentry>
-
index 9d3bfda..a17b089 100644 (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: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="ndgrid" xml:lang="ru">
-    
-    <refnamediv>
-        
-        <refname>ndgrid</refname>
-        
-        <refpurpose>строит матриц или N-мерные массивы путем репликации данных векторов
-            
-        </refpurpose>
-        
-    </refnamediv>
-    
-    <refsynopsisdiv>
-        
-        <title>Синтаксис</title>
-        
-        <synopsis>
-            
-            X, Y] = ndgrid(x,y)
-            
-            [X, Y, Z] = ndgrid(x,y,z)
-            
-            [X, Y, Z, T] = ndgrid(x,y,z,t)
-            
-            [X1, X2, ..., Xm] = ndgrid(x1,x2,...,xm)
-            
-        </synopsis>
-        
-    </refsynopsisdiv>
-    
-    <refsection role="arguments">
-        
-        <title>Аргументы</title>
-        
-        <variablelist>
-            
-            <varlistentry>
-                
-                <term>x, y, z, ...</term>
-                
-                <listitem>
-                    
-                    <para>векторы любых типов данных. Они могут иметь различные типы данных.</para>
-                    
-                </listitem>
-                
-            </varlistentry>
-            
-            <varlistentry>
-                
-                <term>X, Y, Z, ...</term>
-                
+<refnamediv>
+    <refname>ndgrid</refname>
+    <refpurpose>строит матрицы или N-мерные массивы путем репликации данных векторов
+    </refpurpose>
+</refnamediv>
+<refsynopsisdiv>
+    <title>Синтаксис</title>
+    <synopsis>
+        X, Y] = ndgrid(x,y)
+        [X, Y, Z] = ndgrid(x,y,z)
+        [X, Y, Z, T] = ndgrid(x,y,z,t)
+        [X1, X2, ..., Xm] = ndgrid(x1,x2,...,xm)
+    </synopsis>
+</refsynopsisdiv>
+<refsection role="arguments">
+    <title>Аргументы</title>
+    <variablelist>
+        <varlistentry>
+            <term>x, y, z, ...</term>
+            <listitem>
+                <para>векторы любых типов данных. Они могут иметь различные типы данных.</para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>X, Y, Z, ...</term>
                 <listitem>
-                    
-                    <para>Matrices in case of 2 input arguments, or hypermatrices otherwise.
-                        
-                        They all have the same sizes: size(x,"*") rows, size(y,"*") columns, 
-                        
-                        size(z,"*") layers, etc.
-                    </para>
                     <para>
-                        
-                        They have the datatypes of respective input vectors:
-                        
-                        <literal>typeof(X)==typeof(x)</literal>, 
-                        
-                        <literal>typeof(Y)==typeof(y)</literal>, etc.
-                        
+                       В случае двух входных аргументов это матрицы, в противном случае это гиперматрицы.
+                        Все они имеют одинаковые размеры: <literal>size(x,"*")</literal> строк, <literal>size(y,"*")</literal>
+                       столбцов, <literal>size(z,"*")</literal> слоёв и так далее.
+                  </para>
+                  <para>
+                        Они имеют одинаковые типы данных соответствющих входных векторов:
+                        <literal>typeof(X)==typeof(x)</literal>,
+                        <literal>typeof(Y)==typeof(y)</literal>, и т.д.
                     </para>
-                    
                 </listitem>
-                
-            </varlistentry>
-            
-        </variablelist>
-        
-    </refsection>
-    
-    <refsection role="description">
-        
-        <title>Описание</title>
-        
-        <para>
-            The first application of <function>ndgrid</function> is to build
-            
-            a grid of nodes meshing the 2D or 3D or N-D space according to 2, 3,
-            
-            or more sets
-            
-            <literal>x</literal>, <literal> y</literal>, etc.. of  
-            
-            "template" coordinates sampled along each direction/dimension of the
-            
-            space that you want to mesh.
-            
-        </para>
-        
-        <para>
-            Hence, the matrix or hypermatrix <literal>X</literal> is made
-            
-            by replicating the vector <literal>x</literal> as all its columns; 
-            
-            the matrix or hypermatrix <literal>Y</literal> is made
-            
-            by replicating the vector <literal>y</literal> as all its rows;
-            
-            <literal>Z</literal> is made of replicating the vector 
-            
-            <literal>z</literal> along all its local thicknesses (3rd dimension); 
-            
-            etc
-            
-        </para>
-        
-        <screen>
-            
-            <![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
- X  = 
+        </varlistentry>
+    </variablelist>
+</refsection>
+<refsection role="description">
+    <title>Описание</title>
+    <para>
+        Первое применение функции <function>ndgrid</function> заключается в построении сетки
+       узлов, формирующих двумерное, трёхмерное или N-мерное пространство в соответствии с
+       2, 3  и более наборами <varname>x</varname>, <varname>y</varname> и т.д. координат
+        "шаблона" продискретизированных вдоль каждого направления/размерности пространства,
+        которое вы желаете сформировать.
+    </para>
+    <para>
+        Следовательно, матрица или гиперматрица <varname>X</varname> сделана через копирование
+        вектора <varname>x</varname> по столбцам; матрица или гиперматрица <varname>Y</varname>
+       сделана через копирование вектора <varname>y</varname> по строкам; матрица <varname>Z</varname>
+       сделана через копирование вектора <varname>z</varname> по всем слоям (третье измерение);
+       и т.д
+   </para>
+    <screen><![CDATA[--> [X, Y] = ndgrid([1 3 4], [0 2 4 6])
+ X  =
    1.   1.   1.   1.
    3.   3.   3.   3.
    4.   4.   4.   4.
 
-   Y  = 
+ Y  =
    0.   2.   4.   6.
    0.   2.   4.   6.
    0.   2.   4.   6.
-]]>
-        </screen>
-        
-        <para>
-            
-            This replication scheme can be generalized to any number of dimensions,
-            
-            as well to any type of uniform data. Let's for instance consider 2
-            
-            attributes:
-            
-            <orderedlist>
-                
-                <listitem>The first is a number, to be chosen from the vector say
-                    
-                    <literal>n = [ 3 7 ]</literal>
-                    
-                </listitem>
-                
-                <listitem>The second is a letter, to be chosen from the vector 
-                    
-                    say <literal>c = ["a" "e" "i" "o" "u" "y"]</literal>
-                    
-                </listitem>
-                
-            </orderedlist>
-            
-            Then we want to build the set of all {n,c} possible pairs. It will
-            
-            just be the 2D grid:
-            
-        </para>
-        
-        <screen>
-            
-            <![CDATA[--> [N, C] = ndgrid([3 7],["a" "e" "i" "o" "u" "y"])
- C  = 
+]]></screen>
+    <para>
+        Эта схема копирования может быть обобщена к любому числу измерений, а также
+       к любому типу универсальных данных. Давайте, например, возьмём 2 атрибута:
+        <orderedlist>
+            <listitem>Первый - это число, которое нужно выбрать из вектора, скажем
+                <literal>n = [ 3 7 ]</literal>
+            </listitem>
+            <listitem>Второй - это буква, которую нужно выбрать из вектора, скажем
+                <literal>c = ["a" "e" "i" "o" "u" "y"]</literal>
+            </listitem>
+        </orderedlist>
+       Тогда мы хотим построить множество всех <literal>{n,c}</literal> возможных пар.
+       Это будет просто двумерная сетка:
+    </para>
+    <screen><![CDATA[--> [N, C] = ndgrid([3 7],["a" "e" "i" "o" "u" "y"])
+ C  =
 !a  e  i  o  u  y  !
 !a  e  i  o  u  y  !
 
- N  = 
+ N  =
    3.   3.   3.   3.   3.   3.
    7.   7.   7.   7.   7.   7.
-]]>
-        </screen>
-        
-        <para>Then, the object(i,j) will have the properties 
-            
-            <literal>{n(i) c(j)}</literal> that now can be addressed with
-            
-            <literal>{N(i,j) C(i,j)}</literal>.
-            
-            This kind of grid may be useful to initialize an array of structures.
-            
-        </para>
-        
-        <para>
-            Following examples show how to use <varname>X, Y, Z</varname> in
-            
-            most frequent applications.
-            
-        </para>
-        
-        
-    </refsection>
-    
-    <refsection role="examples">
-        
-        <title>Примеры</title>
-        
-        
-        
-        <para>
-            <emphasis role="bold">Example #1:</emphasis> 
-        </para>
-        
-        <programlisting role="example"><![CDATA[  
+]]></screen>
+    <para>
+       Тогда <literal>object(i,j)</literal> будет иметь свойства <literal>{n(i) c(j)}</literal>,
+       которые темер могут быть адресованы как <literal>{N(i,j) C(i,j)}</literal>.
+       Такой вид сетки может быть полезен для инициализации массива структур.
+    </para>
+    <para>
+       Следующие примеры показывают как использовать <varname>X, Y, Z</varname> в
+       наиболее распространёных приложениях
+    </para>
+</refsection>
+<refsection role="examples">
+    <title>Примеры</title>
+    <para>
+        <emphasis role="bold">Пример #1:</emphasis>
+    </para>
+    <programlisting role="example"><![CDATA[
 // создание простой двухмерной координатной сетки
 x = linspace(-10,2,40);
 y = linspace(-5,5,40);
@@ -210,132 +113,81 @@ y = linspace(-5,5,40);
 
 // Compute ordinates Z(X,Y) on the {X, Y} grid and plot Z(X,Y)
 Z = X - 3*X.*sin(X).*cos(Y-4) ;
+
 clf()
 plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
  ]]>    </programlisting>
-        
-        <scilab:image>
-            
-            x = linspace(-10,2,40);
-            
-            y = linspace(-5,5,40);
-            
-            [X,Y] = ndgrid(x,y);
-            
-            Z = X - 3*X.*sin(X).*cos(Y-4) ;
-            
-            clf()
-            
-            plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
-            
-        </scilab:image>
-        
-        
-        
-        <para>
-            <emphasis role="bold">Example #2:</emphasis> 
-        </para>
-        
-        <programlisting role="example"><![CDATA[  
+    <scilab:image>
+        x = linspace(-10,2,40);
+        y = linspace(-5,5,40);
+        [X,Y] = ndgrid(x,y);
+        Z = X - 3*X.*sin(X).*cos(Y-4) ;
+        clf()
+        plot3d(x,y,Z, flag=[color("green") 2 4], alpha=7, theta=60); show_window()
+    </scilab:image>
+    <para>
+        <emphasis role="bold">Пример #2:</emphasis>
+    </para>
+    <programlisting role="example"><![CDATA[
 // создание простой трёхмерной координатной сетки
 nx = 10; ny = 6; nz = 4;
 x = linspace(0,2,nx);
 y = linspace(0,1,ny);
 z = linspace(0,0.5,nz);
 [X,Y,Z] = ndgrid(x,y,z);
+
 // попытаемся отобразить эту трёхмерную координатную сетку ...
 XF=[]; YF=[]; ZF=[];
 for k=1:nz
    [xf,yf,zf] = nf3d(X(:,:,k), Y(:,:,k), Z(:,:,k));
    XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
 end
 for j=1:ny
    [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),..
                      matrix(Y(:,j,:),[nx,nz]),..
                      matrix(Z(:,j,:),[nx,nz]));
    XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
 end
+
 clf()
 plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
 xtitle("Трёхмерная сетка!"); show_window()
  ]]></programlisting>
-        
-        <scilab:image localized="true">
-            
-            nx = 10; ny = 6; nz = 4;
-            
-            x = linspace(0,2,nx);
-            
-            y = linspace(0,1,ny);
-            
-            z = linspace(0,0.5,nz);
-            
-            [X,Y,Z] = ndgrid(x,y,z);
-            
-            
-            
-            XF=[]; YF=[]; ZF=[];
-            
-            
-            
-            for k=1:nz
-            
-            [xf,yf,zf] = nf3d(X(:,:,k), Y(:,:,k), Z(:,:,k));
-            
-            XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
-            
-            end
-            
-            
-            
-            for j=1:ny
-            
-            [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),..
-            
-            matrix(Y(:,j,:),[nx,nz]),..
-            
-            matrix(Z(:,j,:),[nx,nz]));
-            
-            XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
-            
-            end
-            
-            
-            
-            clf()
-            
-            plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
-            
-            xtitle("Трёхмерная сетка!"); show_window()
-            
-            
-            
-        </scilab:image>
-        
-        
-        
-        <para>
-            <emphasis role="bold">Example #3: Create a table of digrams:</emphasis> 
-        </para>
-        
-        <programlisting role="example"><![CDATA[  
+    <scilab:image localized="true">
+        nx = 10; ny = 6; nz = 4;
+        x = linspace(0,2,nx);
+        y = linspace(0,1,ny);
+        z = linspace(0,0.5,nz);
+        [X,Y,Z] = ndgrid(x,y,z);
+        XF=[]; YF=[]; ZF=[];
+        for k=1:nz
+        [xf,yf,zf] = nf3d(X(:,:,k), Y(:,:,k), Z(:,:,k));
+        XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
+        end
+        for j=1:ny
+        [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),..
+        matrix(Y(:,j,:),[nx,nz]),..
+        matrix(Z(:,j,:),[nx,nz]));
+        XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
+        end
+        clf()
+        plot3d(XF,YF,ZF, flag=[0 6 3], 66, 61, leg="X@Y@Z")
+        xtitle("Трёхмерная сетка!"); show_window()
+    </scilab:image>
+    <para>
+        <emphasis role="bold">Пример #3: Создание таблицы пар символов:</emphasis>
+    </para>
+    <programlisting role="example"><![CDATA[
 [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
 c1+c2
  ]]>    </programlisting>
-        
-        <screen>
-            
-            <![CDATA[--> [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
- c2  = 
+    <screen><![CDATA[--> [c1, c2] = ndgrid(["a" "b" "c"], ["a" "b" "c" "d" "e" "f" "g" "h"])
+ c2  =
 !a  b  c  d  e  f  g  h  !
 !a  b  c  d  e  f  g  h  !
 !a  b  c  d  e  f  g  h  !
 
- c1  = 
+ c1  =
 !a  a  a  a  a  a  a  a  !
 !b  b  b  b  b  b  b  b  !
 !c  c  c  c  c  c  c  c  !
@@ -345,66 +197,38 @@ c1+c2
 !aa  ab  ac  ad  ae  af  ag  ah  !
 !ba  bb  bc  bd  be  bf  bg  bh  !
 !ca  cb  cc  cd  ce  cf  cg  ch  !
-]]>
-        </screen>
-        
-        
-        
-    </refsection>
-    
-    <refsection role="see also">
-        
-        <title>Смотрите также</title>
-        
-        <simplelist type="inline">
-            
-            <member>
-                
-                <link linkend="meshgrid">meshgrid</link>
-                
-            </member>
-            
-            <member>
-                
-                <link linkend="kron">kron</link>
-                
-            </member>
-            
-            <member>
-                
-                <link linkend="feval">feval</link>
-                
-            </member>
-            
-            <member>
-                
-                <link linkend="nf3d">nf3d</link>
-                
-            </member>
-            
-        </simplelist>
-        
-    </refsection>
-    
-    <refsection role="history">
-        
-        <title>История</title>
-        
-        <revhistory>
-            
-            <revision>
-                
-                <revnumber>6.0</revnumber>
-                
-                <revdescription>Extension to all homogeneous datatypes ([], booleans, encoded integers, polynomials, rationals, strings). Revision of the help page.
-                    
-                </revdescription>
-                
-            </revision>
-            
-        </revhistory>
-        
-    </refsection>
-    
+]]></screen>
+</refsection>
+<refsection role="see also">
+    <title>Смотрите также</title>
+    <simplelist type="inline">
+        <member>
+            <link linkend="meshgrid">meshgrid</link>
+        </member>
+        <member>
+            <link linkend="kron">kron</link>
+        </member>
+        <member>
+            <link linkend="feval">feval</link>
+        </member>
+        <member>
+            <link linkend="eval3d">eval3d</link>
+        </member>
+        <member>
+            <link linkend="nf3d">nf3d</link>
+        </member>
+    </simplelist>
+</refsection>
+<refsection role="history">
+    <title>История</title>
+    <revhistory>
+        <revision>
+            <revnumber>6.0</revnumber>
+            <revdescription>
+              Расширение до всех однородных типов данных ([], логические, закодированные целые числа,
+              многочлены, дроби, строковые значения). Пересмотр  этой странички справки.
+            </revdescription>
+        </revision>
+    </revhistory>
+</refsection>
 </refentry>
-
index 01e8f62..7c6fdbc 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA -
index 1dbf673..1f89238 100644 (file)
@@ -2,7 +2,7 @@
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2000 - INRIA - Carlos Klimann
- *
+ * Copyright (C) 2016 - Samuel GOUGEON
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="harmean">
     <refnamediv>
         <refname>harmean</refname>
-        <refpurpose>harmonic mean</refpurpose>
+        <refpurpose>harmonic mean : inverse of the inverses average (without zeros)</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Syntax</title>
-        <synopsis>hm=harmean(x)
-            hm=harmean(x,'r')(or, equivalently, hm=harmean(x,1))
-            hm=harmean(x,'c')(or, equivalently, hm=harmean(x,2))
+        <synopsis>
+            hm = harmean(x)
+            hm = harmean(x, 'r'|1 )
+            hm = harmean(x, 'c'|2 )
         </synopsis>
     </refsynopsisdiv>
-    <refsection>
+    <refsection role="arguments">
         <title>Arguments</title>
         <variablelist>
             <varlistentry>
                 <term>x</term>
                 <listitem>
-                    <para>real or complex vector or matrix</para>
+                    <para>vector, matrix, or hypermatrix of real or complex
+                    numbers or polynomials. Rationals not supported.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>hm</term>
+                <listitem>
+                  <para>scalar, or row (if <literal>"r"</literal> is used), or
+                    column (if <literal>"c"</literal> is used).
+                    If <varname>x</varname> are polynomials,
+                    <varname>hm</varname> is of rational type.
+                  </para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
-    <refsection>
+    <refsection role="description">
         <title>Description</title>
         <para>
-            This function  computes the harmonic  mean of a  vector or
-            matrix <literal> x</literal>.  For a vector or matrix  <literal> x</literal>,
-            <literal> hm=harmean(x)  </literal>  returns  in  scalar  <literal>  hm</literal>  the
-            harmonic mean of all the entries of <literal> x</literal>.
+            This function  computes the harmonic mean of input values = inverse
+            of the average of inversed non-zero values.
         </para>
         <para>
-            <literal> hm=harmean(x,'r')   </literal>   (or,   equivalently,
-            <literal> hm=harmean(x,1)  </literal> ) returns  in each  entry of  the row
-            vector <literal> hm</literal> the  harmonic mean of each column of <literal> x</literal>.
+            <literal>hm = harmean(x,'r')</literal>   (or,   equivalently,
+            <literal>hm = harmean(x, 1)</literal> ) returns  in each  entry of
+            the row vector <literal> hm</literal> the harmonic mean of each
+            column of <literal> x</literal>.
         </para>
         <para>
-            <literal> hm=harmean(x,'c')   </literal>   (or,   equivalently,
-            <literal> hm=harmean(x,2) </literal> ) returns  in each entry of the column
-            vector <literal> hm</literal> the harmonic mean of each  row of <literal> x </literal>.
+            <literal>hm = harmean(x,'c')</literal>   (or,   equivalently,
+            <literal>hm = harmean(x, 2)</literal> ) returns  in each entry
+            of the column vector <literal> hm</literal> the harmonic mean of
+            each  row of <literal> x </literal>.
         </para>
+        <warning>
+            If <varname>x</varname> is an hypermatrix and a
+            <literal>"r", 1, "c", 2</literal> flag is used, an error occurs.
+        </warning>
     </refsection>
-    <refsection>
+    <refsection role="examples">
         <title>Examples</title>
         <programlisting role="example"><![CDATA[
-harmean(1:10) // Returns 10/sum(1 ./(1:10)) ~ %pi
+harmean(1:10) // Returns 1 / mean(1 ./(1:10))
+h = harmean([1 1 0 1 0 1])  // returns 1: zeros are not considered
+1 / mean(1./[1 1 0 1 0 1])  // returns 0, as soon as a zero is present
+
+x = grand(3, 4, "uin",-10, 10)
+harmean(x)
+harmean(x, "r")
+harmean(x, 2)
+
+// Hypermatrix
+x = grand(3,4,2, "uin",-10, 10)
+harmean(x)
+harmean(x, "r") // error: not supported
+harmean(x, 3)   // error: not supported
+
+harmean([%z 0])
+harmean([%z %z/2])
+harmean([%z %i+%z])
+harmean([%z %i+%z]) == 1 / ((1/%z + 1/(%i+%z))/2)
  ]]></programlisting>
     </refsection>
-    <refsection>
+    <refsection role="bibliography">
         <title>Bibliography</title>
         <para>
-            Wonacott, T.H. &amp; Wonacott, R.J.; Introductory Statistics, fifth edition, J.Wiley &amp; Sons, 1990.
+            Wonacott, T.H. &amp; Wonacott, R.J.; Introductory Statistics,
+            fifth edition, J.Wiley &amp; Sons, 1990.
         </para>
     </refsection>
+    <refsection role="see also">
+        <title>See also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="mean">mean</link>
+            </member>
+            <member>
+                <link linkend="geomean">geomean</link>
+            </member>
+        </simplelist>
+    </refsection>
 </refentry>
diff --git a/scilab/modules/statistics/help/fr_FR/central_tendency/harmean.xml b/scilab/modules/statistics/help/fr_FR/central_tendency/harmean.xml
new file mode 100644 (file)
index 0000000..d3125ec
--- /dev/null
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2000 - INRIA - Carlos Klimann
+ * Copyright (C) 2016 - Samuel GOUGEON
+ * 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:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="harmean">
+    <refnamediv>
+        <refname>harmean</refname>
+        <refpurpose>moyenne harmonique : inverse de la moyenne des inverses (zéros exclus)</refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Syntaxe</title>
+        <synopsis>
+            hm = harmean(x)
+            hm = harmean(x, 'r'|1 )
+            hm = harmean(x, 'c'|2 )
+        </synopsis>
+    </refsynopsisdiv>
+    <refsection role="arguments">
+        <title>Paramètres</title>
+        <variablelist>
+            <varlistentry>
+                <term>x</term>
+                <listitem>
+                    <para>vecteur, matrice, ou hypermatrice de nombres réels
+                    ou complexes, ou de polynômes à coefficients réels ou
+                    complexes. Fractions rationelles non acceptées.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>hm</term>
+                <listitem>
+                  <para>scalaire, ou vecteur ligne (si <literal>"r"</literal>
+                  est utilisé), ou vecteur colonne
+                    (si <literal>"c"</literal> est utilisé).
+                    Si <varname>x</varname> sont des polynômes,
+                    <varname>hm</varname> est de type fraction rationelle.
+                  </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection role="description">
+        <title>Description</title>
+        <para>
+            <function>harmean</function> calcule la moyenne harmonique des
+            valeurs d'entrée, c'est à dire l'inverse de la moyenne des inverses
+            des valeurs d'entrée non nulles.
+        </para>
+        <para>
+            <literal>hm = harmean(x,'r')</literal>   (ou
+            <literal>hm = harmean(x, 1)</literal> ) retourne le vecteur ligne
+            <literal>hm</literal> où <literal>hm(1,j)</literal> est la moyenne
+            harmonique de chaque colonne <literal>x(:,j)</literal>.
+        </para>
+        <para>
+            <literal>hm = harmean(x,'c')</literal>   (ou
+            <literal>hm = harmean(x, 2)</literal> ) retourne le vecteur colonne
+            <literal>hm</literal> où <literal>hm(i,1)</literal> est la moyenne
+            harmonique de chaque ligne <literal>x(i,:)</literal>.
+        </para>
+        <warning>
+            Si <varname>x</varname> est une hypermatrice et une option
+            <literal>"r", 1, "c", 2</literal> est utilisée, une erreur se produit.
+        </warning>
+    </refsection>
+    <refsection role="examples">
+        <title>Exemples</title>
+        <programlisting role="example"><![CDATA[
+harmean(1:10) // Retourne 1 / mean(1 ./(1:10))
+h = harmean([1 1 0 1 0 1])  // retourne 1: les zéros ne sont pas considérés
+1 / mean(1./[1 1 0 1 0 1])  // retourne 0 dés qu'au moins un zéro est fourni
+
+x = grand(3, 4, "uin",-10, 10)
+harmean(x)
+harmean(x, "r")
+harmean(x, 2)
+
+// Hypermatrice
+x = grand(3,4,2, "uin",-10, 10)
+harmean(x)
+harmean(x, "r") // erreur: syntaxe exclue avec les hypermatrices
+harmean(x, 3)   // idem
+
+harmean([%z 0])
+harmean([%z %z/2])
+harmean([%z %i+%z])
+harmean([%z %i+%z]) == 1 / ((1/%z + 1/(%i+%z))/2)
+ ]]></programlisting>
+    </refsection>
+    <refsection role="bibliography">
+        <title>Bibliographie</title>
+        <para>
+            Wonacott, T.H. &amp; Wonacott, R.J.; Introductory Statistics,
+            5ème édition, J.Wiley &amp; Sons, 1990.
+        </para>
+    </refsection>
+    <refsection role="see also">
+        <title>Voir aussi</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="mean">mean</link>
+            </member>
+            <member>
+                <link linkend="geomean">geomean</link>
+            </member>
+        </simplelist>
+    </refsection>
+</refentry>
index ef849ce..83227d6 100644 (file)
@@ -2,7 +2,7 @@
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2000 - INRIA - Carlos Klimann
- * 
+ * Copyright (C) 2016 - Samuel GOUGEON
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="harmean">
     <refnamediv>
         <refname>harmean</refname>
-        <refpurpose>調和平均</refpurpose>
+        <refpurpose>調和平均  : inverse of the inverses average (without zeros)</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>呼び出し手順</title>
-        <synopsis>hm=harmean(x)
-            hm=harmean(x,'r')(or, equivalently, hm=harmean(x,1))
-            hm=harmean(x,'c')(or, equivalently, hm=harmean(x,2))
+        <synopsis>
+            hm = harmean(x)
+            hm = harmean(x, 'r'|1 )
+            hm = harmean(x, 'c'|2 )
         </synopsis>
     </refsynopsisdiv>
-    <refsection>
+    <refsection role="arguments">
         <title>パラメータ</title>
         <variablelist>
             <varlistentry>
                 <term>x</term>
                 <listitem>
-                    <para>実数または複素数のベクトルまたは行列</para>
+                    <para>vector, matrix, or hypermatrix of real or complex
+                    numbers or polynomials. Rationals not supported.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>hm</term>
+                <listitem>
+                  <para>scalar, or row (if <literal>"r"</literal> is used), or
+                    column (if <literal>"c"</literal> is used).
+                    If <varname>x</varname> are polynomials,
+                    <varname>hm</varname> is of rational type.
+                  </para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
-    <refsection>
+    <refsection role="description">
         <title>説明</title>
         <para>
-            この関数は,ベクトルまたは行列<literal>x</literal>の
-            調和平均を計算します.
-            あるベクトルまたは行列<literal>x</literal>について,
-            <literal>hm=harmean(x)</literal>はスカラー<literal>hm</literal>に
-            <literal>x</literal>の全エントリの調和平均を返します.
+            This function  computes the harmonic mean of input values = inverse
+            of the average of inversed non-zero values.
         </para>
         <para>
-            <literal>hm=harmean(x,'r')</literal>   (または等価な   
-            <literal> hm=harmean(x,1)</literal>) は,
+            <literal>hm = harmean(x,'r')</literal>   (または等価な
+            <literal>hm = harmean(x,1)</literal>) は,
             行ベクトル<literal>hm</literal>の各要素に
             <literal>x</literal>の各列の調和平均を返します.
         </para>
         <para>
-            <literal>hm=harmean(x,'c')</literal>   (または等価な
-            <literal>hm=harmean(x,2)</literal> ) は,
+            <literal>hm = harmean(x,'c')</literal>   (または等価な
+            <literal>hm = harmean(x,2)</literal> ) は,
             列ベクトル<literal>hm</literal>の各エントリに
             <literal>x</literal>の各行の調和平均を返します.
         </para>
+        <warning>
+            If <varname>x</varname> is an hypermatrix and a
+            <literal>"r", 1, "c", 2</literal> flag is used, an error occurs.
+        </warning>
+    </refsection>
+    <refsection role="examples">
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[
+harmean(1:10) // Returns 1 / mean(1 ./(1:10))
+h = harmean([1 1 0 1 0 1])  // returns 1: zeros are not considered
+1 / mean(1./[1 1 0 1 0 1])  // returns 0, as soon as a zero is present
+
+x = grand(3, 4, "uin",-10, 10)
+harmean(x)
+harmean(x, "r")
+harmean(x, 2)
+
+// Hypermatrix
+x = grand(3,4,2, "uin",-10, 10)
+harmean(x)
+harmean(x, "r") // error: not supported
+harmean(x, 3)   // error: not supported
+
+harmean([%z 0])
+harmean([%z %z/2])
+harmean([%z %i+%z])
+harmean([%z %i+%z]) == 1 / ((1/%z + 1/(%i+%z))/2)
+ ]]></programlisting>
     </refsection>
-    <refsection>
+    <refsection role="bibliography">
         <title>参考文献</title>
         <para>
             Wonacott, T.H. &amp; Wonacott, R.J.; Introductory Statistics, fifth edition, J.Wiley &amp; Sons, 1990.
         </para>
     </refsection>
+    <refsection role="see also">
+        <title>See also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="mean">mean</link>
+            </member>
+            <member>
+                <link linkend="geomean">geomean</link>
+            </member>
+        </simplelist>
+    </refsection>
 </refentry>
diff --git a/scilab/modules/windows_tools/help/fr_FR/consolebox.xml b/scilab/modules/windows_tools/help/fr_FR/consolebox.xml
new file mode 100644 (file)
index 0000000..fff1eb4
--- /dev/null
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2016 - Samuel GOUGEON
+ * 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:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="consolebox">
+    <refnamediv>
+        <refname>consolebox</refname>
+        <refpurpose>affiche ou cache le terminal Windows de lancement de Scilab</refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Syntaxe</title>
+        <synopsis>
+            consolebox on
+            consolebox off
+            status = consolebox("toogle")
+            status = consolebox()
+        </synopsis>
+    </refsynopsisdiv>
+    <refsection role="arguments">
+        <title>Paramètres</title>
+        <variablelist>
+            <varlistentry>
+                <term>status</term>
+                <listitem>
+                    <para><varname>"on" | "off"</varname> : visibilité du
+                    terminal Windows après l'instruction
+                    <function>consolebox</function>.
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection role="description">
+        <title>Description</title>
+        <itemizedlist>
+            <listitem><literal>consolebox on</literal> : affiche le terminal
+            Windows et ajoute son bouton à la barre des tâches. La fenêtre noire
+            du terminal (consolebox) est située en arrière fond et peut donc
+            être masquée par d'autres fenêtres du bureau Windows.
+            </listitem>
+            <listitem><literal>consolebox off</literal> : masque le terminal
+            et supprime son bouton de la barre des tâches.
+            </listitem>
+            <listitem><literal>consolebox toogle</literal> : commute la
+            visibilité du terminal.
+            </listitem>
+            <listitem><literal>status = consolebox()</literal> : indique
+            la visibilité actuelle du terminal Windows.
+            </listitem>
+        </itemizedlist>
+        <para>La fenêtre noire "consolebox" est le terminal (par défaut caché)
+        du système d'exploitation Windows depuis lequel la session courante de
+        Scilab a été lancée et se déroule. C'est en quelque sorte le "coté sombre"
+        de votre session Scilab :) Chaque session Scilab a sa propre "consolebox".
+        Sa durée de vie est celle de la session Scilab. La consolebox d'une session
+        Scilab cesse d'exister dés lors que la session Scilab est fermée.
+        </para>
+        <para>Certaines fonctions Scilab de bas niveau (tel que le compilateur
+        de la documentation Scilab, ou d'autres fonctions) envoient leurs
+        messages d'erreur dans la consolebox, sans quoi ces messages spammeraient
+        la console Scilab habituelle. Ces messages peuvent néanmoins être très
+        utiles pour le débogage. <literal>consolebox on</literal> permet de les
+        consulter.
+        </para>
+        <para>La fenêtre noire de la "consolebox" ne peut pas être fermée
+        "à la main" : la croix X de son coin supérieur droit est désactivée.
+        La suppression forcée de la consolebox ferme la session Scilab immédiatement.
+        </para>
+        <para>
+            Lorsque des instructions DOS/Windows externes sont envoyées par
+            Scilab au système d'exploitation via les fonctions
+            <link linkend="host">host(..)</link> ou de manière équivalente par
+            <link linkend="unix">unix(..)</link>, ou
+            <link linkend="unix_w">unix_w(..)</link>,
+            <link linkend="unix_g">unix_g(..)</link>,
+            <link linkend="unix_s">unix_s(..)</link>, ou
+            <link linkend="unix_x">unix_x(..)</link>,
+            ces instructions Windows sont reçues et traitées par la consolebox.
+            <para><literal>host(..)</literal> et
+                <literal>unix(..)</literal> affichent les résultats à même
+                la consolebox.
+            </para>
+            <para><literal>unix_g, unix_w, unix_x, unix_s</literal> interceptent
+            les résultats donnés par Windows et en suppriment l'affichage
+            dans la consolebox :
+            <itemizedlist>
+                <listitem>
+                    <literal>r = unix_g(..)</literal> saisit
+                    (<emphasis role="bold">g</emphasis>rabs) et retourne les
+                    résultats dans une variable texte <literal>r</literal>.
+                </listitem>
+                <listitem>
+                    <literal>unix_w(..)</literal> affiche les résultats dans la
+                    console Scilab (<emphasis role="bold">w</emphasis>indow).
+                </listitem>
+                <listitem>
+                    <literal>unix_x(..)</literal> affiche les résultats dans
+                    une <link linkend="messagebox">messagebox</link>.
+                </listitem>
+                <listitem>
+                    <literal>unix_s(..)</literal> travaille en
+                    <emphasis role="bold">s</emphasis>ilence, sans rien afficher
+                    ni retourner.
+                </listitem>
+            </itemizedlist>
+            </para>
+        </para>
+        <note><literal>host("cls")</literal> efface le contenu de la consolebox.</note>
+    </refsection>
+    <refsection>
+        <title>Exemples</title>
+        <programlisting role="example"><![CDATA[
+consolebox on
+mprintf("\nLe bouton de la consolebox apparaît dans la barre des tâches.\n"+..
+        "Cliquer dessus amène la consolebox au premier plan.\n");
+sleep(10,"s")
+consolebox('toggle')
+sleep(5,"s")
+consolebox('toggle')
+consolebox on
+consolebox()
+
+// Les instructions passées à host() ou unix() ou autres fonctions unix_#() sont
+// traitées dans la consolebox :
+host("echo Texte à afficher") // Affiche "Texte à afficher" dans la consolebox
+host("cls")  // efface le contenu de la consolebox
+host("set")  // liste toutes les variables d'environnement Windows définies
+
+// Les autres fonctions unix_#() interceptent les résultats donnés par Windows
+//  au lieu de les afficher dans la consolebox :
+host("cls")
+unix_w("echo Texte à afficher") // "Texte à afficher" s'affiche dans la console Scilab
+r = unix_g("set");   // Les variables d'environnement Windows sont retournées dans r.
+r                    //  Rien n'est affiché dans la consolebox.
+unix_x("set");       // Une messagebox s'ouvre et affiche les résultats.
+                     //  Rien dans la consolebox.
+ ]]></programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>Voir aussi</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="host">host</link>
+            </member>
+            <member>
+                <link linkend="unix_w">unix_w</link>
+            </member>
+            <member>
+                <link linkend="unix_g">unix_g</link>
+            </member>
+            <member>
+                <link linkend="unix_x">unix_x</link>
+            </member>
+        </simplelist>
+    </refsection>
+</refentry>