1 <?xml version="1.0" encoding="UTF-8"?>
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) 2008 - INRIA
6 * Copyright (C) 2012 - 2016 - Scilab Enterprises
8 * This file is hereby licensed under the terms of the GNU GPL v2.0,
9 * pursuant to article 5.3.4 of the CeCILL v.2.1.
10 * This file was originally licensed under the terms of the CeCILL v2.1,
11 * and continues to be available under such terms.
12 * For more information, see the COPYING file which you should have received
13 * along with this program.
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
17 xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml"
18 xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
19 xmlns:scilab="http://www.scilab.org" xml:id="diag" xml:lang="pt">
21 <refname>diag</refname>
22 <refpurpose>inclusão ou extração diagonal</refpurpose>
25 <title>Seqüência de Chamamento</title>
32 <title>Parâmetros</title>
37 <para>vetor ou matriz (armazenamento cheio ou esparso)</para>
43 <para>inteiro (o valor padrão é 0)</para>
49 <para>vetor ou matriz</para>
55 <title>Descrição</title>
57 Para um n-vetor (linha ou coluna) <literal>vm</literal> ,
58 <literal>diag(vm)</literal> retorna uma matriz diagonal com entradas de
59 <literal>vm</literal> ao longo da diagonal principal.
62 <literal>diag(vm,k)</literal> é uma matriz
63 <literal>(n+abs(k))x(n+abs(k))</literal> com entradas de
64 <literal>vm</literal> ao longo da k-ésima diagonal. <literal>k=0</literal>
65 é a diagonal principal, <literal>k>0</literal> são as diagonais
66 superiores e <literal>k<0</literal> são as diagonais inferiores.
69 Para uma matriz <literal>vm</literal>, <literal>diag(vm,k)</literal>
70 é o vetor coluna feito das entradas da k-ésima diagonal de
71 <literal>vm</literal>. <literal>diag(vm)</literal> é a diagonal principal
72 de <literal>vm</literal>. <literal>diag(diag(x))</literal> é a matriz
76 Se <literal>vm</literal> é uma matriz esparsa,
77 <literal>diag(vm,k)</literal> retorna uma matriz esparsa.
79 <para>Para construir um sistema linear diagonal, use
80 <literal>sysdiag</literal>.
83 Perceba que <literal>eye(A).*A</literal> retorna uma matriz diagonal
84 feita das entradas diagonais de <literal>A</literal>. Isto é válido para
85 qualquer matriz (constante, de polinômios, de razões de polinômios,
86 sistema linear em espaço de estados,...).
90 <title>Exemplos</title>
91 <programlisting role="example"><![CDATA[
95 diag(A) // diagonal principal
98 diag(sparse(1:10)) // matriz diagonal esparsa
100 // forma de uma matriz triadiagonal de tamanho 2*m+1
101 m=5;diag(-m:m) + diag(ones(2*m,1),1) +diag(ones(2*m,1),-1)
104 <refsection role="see also">
105 <title>Ver Também</title>
106 <simplelist type="inline">
108 <link linkend="toeplitz">toeplitz</link>
111 <link linkend="eye">eye</link>
114 <link linkend="sysdiag">sysdiag</link>
117 <link linkend="spec">spec</link>
120 <link linkend="bdiag">bdiag</link>