<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( https://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2008 - INRIA
 *
 * Copyright (C) 2012 - 2016 - Scilab Enterprises
 *
 * This file is hereby licensed under the terms of the GNU GPL v2.0,
 * pursuant to article 5.3.4 of the CeCILL v.2.1.
 * This file was originally licensed under the terms of the CeCILL v2.1,
 * and continues to be available under such terms.
 * For more information, see the COPYING file which you should have received
 * along with this program.
 *
 -->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
          xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
          xmlns:scilab="http://www.scilab.org" xml:id="rand" xml:lang="pt">
    <refnamediv>
        <refname>rand</refname>
        <refpurpose>gerador de números randômico</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Seqüência de Chamamento</title>
        <synopsis>
            rand(m1,m2,.. [,key])
            rand(x [, key])
            rand()

            rand(key)
            rand("seed" [,n])
            rand("info")
        </synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Parâmetros</title>
        <variablelist>
            <varlistentry>
                <term>mi</term>
                <listitem>
                    <para>inteiros </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>key</term>
                <listitem>
                    <para>
                        string com valor <literal>"uniform"</literal>, ou
                        <literal>"normal"</literal>
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>x</term>
                <listitem>
                    <para>uma matriz. Apenas suas dimensões são levadas em conta </para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Descrição</title>
        <para>Gerador de matriz randômico. </para>
        <para>Sem argumento "key", as sintaxes abaixo produzem matrizes randômicas
            com o gerador randômico corrente (o padrão é "uniform")
        </para>
        <variablelist>
            <varlistentry>
                <term>rand(m1,m2)</term>
                <listitem>
                    <para>
                        é uma matriz randômica de dimensão <literal>m1</literal> por
                        <literal>m2</literal>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>rand(m1,m2,..,mn)</term>
                <listitem>
                    <para>
                        é uma matriz randômica de dimensão <literal>m1</literal> por
                        <literal>m2</literal>,.. por <literal>mn</literal>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>rand(a)</term>
                <listitem>
                    <para>é uma matriz randômica com mesmo tamanho que a.
                        <literal>rand(a)</literal>é de complexos se <literal>a</literal> é
                        uma matriz de complexos.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>rand() : sem argumentos, fornece um escalar cujo valor
                    muda
                </term>
                <listitem>
                    <para>a cada vez que é referenciado.</para>
                </listitem>
            </varlistentry>
        </variablelist>
        <para>Se presente, o argumento "key" permite especificar uma outra
            distribuição randômica.
        </para>
        <variablelist>
            <varlistentry>
                <term>rand('uniform')</term>
                <listitem>
                    <para>o gerador corrente é acertado como gerador randômico uniforme.
                        Números aleatórios são distribuidos uniformemente e pertencem ao
                        intervalo [0,1).
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>rand('normal')</term>
                <listitem>
                    <para>o gerador corrente é acertado como gerador de números
                        randômico gaussiano (com média 0 e variância 1) .
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>str=rand('info')</term>
                <listitem>
                    <para>retorna o tipo do gerado randômico padrão ('uniform' ou
                        'normal')
                    </para>
                </listitem>
            </varlistentry>
        </variablelist>
        <para>É possível (re-)inicializar o "seed" do gerador randômico: </para>
        <variablelist>
            <varlistentry>
                <term>rand('seed')</term>
                <listitem>
                    <para>retorna o valor corrente do "seed". </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>rand('seed',n)</term>
                <listitem>
                    <para>
                        define o seed como <literal>n</literal>. (o padrão é
                        <literal>n=0</literal> numa primeira chamada).
                    </para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Observação</title>
        <para>
            Use a função mais poderosa <link linkend="grand">grand</link> ao
            invés.
        </para>
    </refsection>
    <refsection>
        <title>Exemplos</title>
        <programlisting role="example"><![CDATA[
x=rand(10,10,'uniform')
rand('normal')
rand('info')
y=rand(x,'normal');
x=rand(2,2,2)
 ]]></programlisting>
    </refsection>
    <refsection role="see also">
        <title>Ver Também</title>
        <simplelist type="inline">
            <member>
                <link linkend="grand">grand</link>
            </member>
            <member>
                <link linkend="ssrand">ssrand</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
