Remove all the authors from the documentation. This has been done for the following...
[scilab.git] / scilab / modules / elementary_functions / help / pt_BR / elementarymatrices / ndgrid.xml
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ndgrid" xml:lang="en">
3   <info>
4     <pubdate>$LastChangedDate$</pubdate>
5   </info>
6   <refnamediv>
7     <refname>ndgrid</refname>
8     <refpurpose>Arrays para avaliação de função multidimensional em
9       grid
10     </refpurpose>
11   </refnamediv>
12   <refsynopsisdiv>
13     <title>Seqüência de Chamamento</title>
14     <synopsis>[X, Y] = ndgrid(x,y)
15       [X, Y, Z] = ndgrid(x,y,z)
16       [X, Y, Z, T] = ndgrid(x,y,z,t)
17       [X1, X2, ..., Xm] = ndgrid(x1,x2,...,xm)
18     </synopsis>
19   </refsynopsisdiv>
20   <refsection>
21     <title>Parâmetros</title>
22     <variablelist>
23       <varlistentry>
24         <term>x, y, z, ...</term>
25         <listitem>
26           <para>vetores </para>
27         </listitem>
28       </varlistentry>
29       <varlistentry>
30         <term>X, Y, Z, ...</term>
31         <listitem>
32           <para>matrizes, no caso de 2 argumentos de entrada, ou hipermatrizes
33             em outro caso 
34           </para>
35         </listitem>
36       </varlistentry>
37     </variablelist>
38   </refsection>
39   <refsection>
40     <title>Descrição</title>
41     <para>Esta rotina utilitária é útil para criar arrays para a avaliação da
42       função em grids 2, 3, ..., n dimensionais. Por exemplo, em 2d, um grid é
43       definido por dois vetores, <literal>x</literal> e <literal> y</literal> de
44       comprimento nx e ny, e se deseja avaliar uma função (dita f) em todos os
45       pontos do grid, isto é, em todos os pontos de coordenadas (x(i),y(j)) com
46       i=1,..,nx e j=1,..,ny . Neste caso, esta função pode computar as duas
47       matrizes <literal>X,Y</literal> de tamanho nx x ny tais que : 
48     </para>
49     <programlisting role=""><![CDATA[ 
50       X(i,j) = x(i)   para todo i em [1,nx]
51       Y(i,j) = y(j)       e j em [1,ny]
52  ]]></programlisting>
53     <para>
54       e a avaliação pode ser feita com <literal>Z=f(X,Y)</literal> (sob a
55       condição de que <literal>f</literal> foi codificada para a avaliação em
56       argumentos de vetor, que é feito (em geral) usando os operadores elemento
57       a elemento <literal>.*</literal>, <literal>./</literal> and
58       <literal>.^</literal> no lugar de <literal>*</literal>,
59       <literal>/</literal> e <literal>^</literal>).
60     </para>
61     <para>
62       No caso 3d, considerando 3 vetores <literal>x,y,z</literal> de
63       comprimentos nx, ny e nz, <literal>X,Y,Z</literal> são 3 hipermatrizes de
64       tamanho nx x ny x nz tais que : 
65     </para>
66     <programlisting role=""><![CDATA[ 
67       X(i,j,k) = x(i)  
68       Y(i,j,k) = y(j)   para todo (i,j,k) in [1,nx]x[1,ny]x[1,nz]
69       Z(i,j,k) = z(k)
70  ]]></programlisting>
71     <para>
72       No caso geral de m argumentos de entrada <literal>x1, x2, ..,
73         xm
74       </literal>
75       ,os m argumentos de saída <literal>X1, X2, .., Xm</literal>
76       são hipermatrizes de tamanho <emphasis>nx1 x nx2 x ... x nxm</emphasis> e
77       :
78     </para>
79     <programlisting role=""><![CDATA[ 
80     Xj(i1,i2,...,ij,...,im) = xj(ij)   
81     for all (i1,i2,...,im) in [1,nx1]x[1,nx2]x...x[1,nxm]  
82  ]]></programlisting>
83   </refsection>
84   <refsection>
85     <title>Exemplos </title>
86     <programlisting role="example"><![CDATA[ 
87 // criando um grid 2d simples
88 nx = 40; ny = 40;
89 x = linspace(-1,1,nx);
90 y = linspace(-1,1,ny);
91 [X,Y] = ndgrid(x,y);
92 // computando uma função no grid e plotando
93 //deff("z=f(x,y)","z=128*x.^2 .*(1-x).^2 .*y.^2 .*(1-y).^2");
94 deff("z=f(x,y)","z=x.^2 + y.^3")
95 Z = f(X,Y);
96 clf()
97 plot3d(x,y,Z, flag=[2 6 4]); show_window()
98
99 // criando um grid 3d simples
100 nx = 10; ny = 6; nz = 4;
101 x = linspace(0,2,nx);
102 y = linspace(0,1,ny);
103 z = linspace(0,0.5,nz);
104 [X,Y,Z] = ndgrid(x,y,z);
105 // tente exibir este grid 3d...
106 XF=[]; YF=[]; ZF=[];
107 for k=1:nz
108    [xf,yf,zf] = nf3d(X(:,:,k),Y(:,:,k),Z(:,:,k));
109    XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
110 end
111 for j=1:ny
112    [xf,yf,zf] = nf3d(matrix(X(:,j,:),[nx,nz]),...
113                      matrix(Y(:,j,:),[nx,nz]),...
114                      matrix(Z(:,j,:),[nx,nz]));
115    XF = [XF xf]; YF = [YF yf]; ZF = [ZF zf];
116 end
117 clf()
118 plot3d(XF,YF,ZF, flag=[0 6 3], leg="X@Y@Z")
119 xtitle("A 3d grid !"); show_window()
120  ]]></programlisting>
121   </refsection>
122   <refsection role="see also">
123     <title>Ver Também</title>
124     <simplelist type="inline">
125       <member>
126         <link linkend="kron">kron</link>
127       </member>
128     </simplelist>
129   </refsection>
130 </refentry>