<?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:ns3="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="ssrand" xml:lang="pt">
    <refnamediv>
        <refname>ssrand</refname>
        <refpurpose>gerador de sistema randômico</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Seqüência de Chamamento</title>
        <synopsis>sl=ssrand(nout,nin,nstate)
            [sl,U]=ssrand(nout,nin,nstate,flag)
        </synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Parâmetros</title>
        <variablelist>
            <varlistentry>
                <term>nout</term>
                <listitem>
                    <para>inteiro (número de saídas)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>nin</term>
                <listitem>
                    <para>inteiro (número de entradas)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>nstate</term>
                <listitem>
                    <para>inteiro (dimensão de espaço de estados)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>flag</term>
                <listitem>
                    <para>lista feita de um string ou vários inteiros</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>sl</term>
                <listitem>
                    <para>
                        lista (lista <literal>syslin</literal> )
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>U</term>
                <listitem>
                    <para>
                        matriz quadrada não-singular <literal>(nstate x
                            nstate)
                        </literal>
                    </para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Descrição</title>
        <para>
            <literal>sl=ssrand(nout,nin,nstate)</literal> retorna um sistema em
            espaço de estado randômico estritamente próprio (<literal>D=0</literal>)
            de tamanho <literal>[nout,nint]</literal> representado por uma lista
            <literal>syslin</literal> e com <literal>nstate</literal> variáveis de
            estado.
        </para>
        <para>
            <literal>[sl,U]=ssrand(nout,nin,nstate,flag)</literal> retorna um
            sistema linear teste com dadas propriedades especificadas por
            <literal>flag</literal>. <literal>flag</literal> pode ser um dos
            seguintes:
        </para>
        <programlisting><![CDATA[
flag=list('co',dim_cont_subs)
flag=list('uo',dim_unobs_subs)
flag=list('ncno',dim_cno,dim_ncno,dim_co,dim_nco)
flag=list('st',dim_cont_subs,dim_stab_subs,dim_stab0)
flag=list('dt',dim_inst_unob,dim_instb0,dim_unobs)
flag=list('on',nr,ng,ng0,nv,rk)
flag=list('ui',nw,nwu,nwui,nwuis,rk)
 ]]></programlisting>
        <para>
            A completa descrição dos <literal>Sys</literal> é dada no código da
            função <literal>ssrand</literal> (em
            <literal>SCI/modules/cacsd/macros/</literal>). Por exemplo, com
            <literal>flag=list('co',dim_cont_subs)</literal> um sistema
            não-controlável é retornado e <literal>dim_cont_subs</literal> é a
            dimensão do subespaço controlável de <literal>Sys</literal>. Os strings
            <literal>'co','uo','ncno','st','dt','on','ui'</literal> significam
            "controlável", "inobservável", "não-controlável-não-observável",
            "estabilizável", "detectável", "anulador-de-saída",
            "saída-desconhecida".
        </para>
    </refsection>
    <refsection>
        <title>Exemplos</title>
        <programlisting role="example"><![CDATA[
//flag=list('st',dim_cont_subs,dim_stab_subs,dim_stab0)
//dim_cont_subs<=dim_stab_subs<=dim_stab0
//par (A,B) U-similar a:
//    [*,*,*,*;     [*;
//    [0,s,*,*;     [0;
//A=  [0,0,i,*;   B=[0;
//    [0,0,0,u]     [0]
//
// (A11,B1) controlável  s=matriz estável i=matriz neutra u=matriz instável
[Sl,U]=ssrand(2,3,8,list('st',2,5,5));
w=ss2ss(Sl,inv(U)); //desfaz a mudança aleatória de base=&gt; forma como acima
[n,nc,u,sl]=st_ility(Sl);n,nc
]]></programlisting>
    </refsection>
    <refsection role="see also">
        <title>Ver Também</title>
        <simplelist type="inline">
            <member>
                <link linkend="syslin">syslin</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
