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