Diferenças entre edições de "Matrizes"

De GNU Octave
Ir para: navegação, pesquisa
(Exercícios)
(Matrizes especiais)
Linha 126: Linha 126:
 
=== Matrizes especiais ===
 
=== Matrizes especiais ===
  
O comando diag pode criar uma matriz diagonal, se o argumento for o vetor que constitui a diagonal. Exemplo:
+
O comando <syntaxhighlight enclose="none">diag</syntaxhighlight> pode criar uma matriz diagonal, se o argumento for o vetor que constitui a diagonal. Exemplo:
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Linha 137: Linha 137:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Alternativamente, o comendo diag devolve o vetor da diagonal de uma matrix.
+
Repare que o argumento de <syntaxhighlight enclose="none">diag</syntaxhighlight> é um vetor, no exemplo apresentado, e o resultado é uma matriz.
 +
 
 +
Alternativamente, o comando <syntaxhighlight enclose="none">diag</syntaxhighlight> devolve o vetor da diagonal de uma matriz, se o argumento for uma matriz.
  
 
<syntaxhighlight>
 
<syntaxhighlight>
octave:27> diag(A)
+
octave:18> A = [1 2 3; 4 5 6; 7 8 9]
 +
A =
 +
  1  2  3
 +
  4  5  6
 +
  7  8  9
 +
octave:19> diag(A)
 
ans =
 
ans =
    1
+
  1
    4
+
  5
   12
+
   9
 
</syntaxhighlight>
 
</syntaxhighlight>
  
A matriz identidade é gerada com o comando eye.
+
===== Matriz identidade =====
 +
 
 +
A matriz identidade é gerada com o comando <syntaxhighlight enclose="none">eye</syntaxhighlight>.
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Linha 156: Linha 165:
 
   0  1  0
 
   0  1  0
 
   0  0  1
 
   0  0  1
 +
</syntaxhighlight>
 +
 +
===== Matriz nula =====
 +
 +
A matriz nula (com todos os elementos a zero) é gerada com o comando <syntaxhighlight enclose="none">zeros</syntaxhighlight>.
 +
 +
<syntaxhighlight>
 +
octave:21> zeros(2,2)
 +
ans =
 +
  0  0
 +
  0  0
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revisão das 00h18min de 16 de outubro de 2012

Notação matemática

A notação utilizada em matemática para matrizes introduz a noção de elemento, designado por a_{ij}, a matriz geralmente designada por uma letra maiúscula, A, por exemplo, e a geometria da matriz m \times n, se esta tiver m linhas por n colunas. Seja então a seguinte matriz:


 A_{m,n} =
 \begin{bmatrix}
  a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\
  a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\
  \vdots  & \vdots  & \ddots & \vdots  \\
  a_{m,1} & a_{m,2} & \cdots & a_{m,n}
 \end{bmatrix}

Notação do Octave

A matriz 
 A =
 \begin{bmatrix}
  1 & 2 & 3 & 4 \\
  5 & 6 & 7 & 8 \\
  9 & 10 & 11 & 12
\end{bmatrix}
representa-se em Octave como:

octave:3> A = [ 1, 2, 3, 4; 5, 4, 6, 8; 9, 10 , 12, 12]
A =
    1    2    3    4
    5    4    6    8
    9   10   12   12

O elemento da matriz na linha 2 e coluna 3 pode ser obtido utilizando a seguinte sintaxe:

octave:4> A(2,3)
ans =  6

Pode-se também obter toda uma linha, ou toda uma coluna. Toda a segunda linha obtém-se com:

octave:5> A(2,:)
ans =
   5   4   6   8

Toda a 4 coluna obtém-se com:

octave:6> A(:,4)
ans =
    4
    8
   12

A geometria da matriz, o número de linhas e de colunas, obtem-se com o operador size.

size(A)
ans =
   3   4

Exercícios

  1. Represente a matriz 
 B =
 \begin{bmatrix}
  0 & \frac{1}{2} & 2^2 \\
  1 & \sqrt(3) & \frac{\sqrt(3)}{3}
\end{bmatrix}
em Octave.
    octave:1> B = [0 1/2 2^2; 1 sqrt(3) sqrt(3)/3]
    B =
       0.00000   0.50000   4.00000
       1.00000   1.73205   0.57735
  2. Calcule o número de linhas da matriz. (Só o número de linhas, e não o número de linhas e colunas).
    octave:7> size(B)(1)
    ans =  2
  3. Apresente a matriz com mais casas decimais.
    octave:9> format long
    octave:10> B
    B =
       0.000000000000000   0.500000000000000   4.000000000000000
       1.000000000000000   1.732050807568877   0.577350269189626
  4. Crie uma nova matriz C com as colunas 1 e 3 de B.
    octave:11> C = B(:,[1 3])
    C =
       0.000000000000000   4.000000000000000
       1.000000000000000   0.577350269189626

Matrizes especiais

O comando diag pode criar uma matriz diagonal, se o argumento for o vetor que constitui a diagonal. Exemplo:

octave:22> diag([7 8 9])
ans =
Diagonal Matrix
   7   0   0
   0   8   0
   0   0   9

Repare que o argumento de diag é um vetor, no exemplo apresentado, e o resultado é uma matriz.

Alternativamente, o comando diag devolve o vetor da diagonal de uma matriz, se o argumento for uma matriz.

octave:18> A = [1 2 3; 4 5 6; 7 8 9]
A =
   1   2   3
   4   5   6
   7   8   9
octave:19> diag(A)
ans =
   1
   5
   9
Matriz identidade

A matriz identidade é gerada com o comando eye.

octave:34> eye(3)
ans =
Diagonal Matrix
   1   0   0
   0   1   0
   0   0   1
Matriz nula

A matriz nula (com todos os elementos a zero) é gerada com o comando zeros.

octave:21> zeros(2,2)
ans =
   0   0
   0   0

Exercícios

Verifique o resultado das seguintes expressões:

  1. Calcule
    diag(3:3:10)
  2. Calcule
    diag(diag(A))
  3. Calcule
    sum(diag(eye(10)))

Operações sobre matrizes

Considere a matriz 
 A =
 \begin{bmatrix}
  1 & 2 \\
  3 & 4
\end{bmatrix}
, a matriz 
 B =
 \begin{bmatrix}
  1 & -2 \\
  -1 & 0
\end{bmatrix}
e a matriz 
 C =
 \begin{bmatrix}
  2 & -2 \\
  -2 & 2
\end{bmatrix}
.

Soma e produto escalar

Produto de matrizes

Exercícios

  1. Calcule A + B
  2. Calcule A + A
  3. Calcule o produto escalar 2 * B
  4. Comprove que o número de colunas de A é igual ao número de linhas de B
  5. Calcule o produto A*B
  6. Calcule o produto A*B*C
  7. Prove que o produto de matrizes é associativo (AB)C = A(BC)
  8. Prove que o produto de matrizes é distributivo em relação à soma A(B + C) = AB + AC
  9. Prove que a matriz identidade é o elemento neutro para o produto AI = A e IA = A. Use
    I = eye(2)
    para gerar a matriz I.
  10. Prove que a matriz nula é o elemento absorvente para o produto: 0A = 0 e A0 = 0
  11. Prove que \alpha(AB) = (\alphaA)B = A(\alphaB). Use um valor real qualquer como \alpha

Mais operações

Transposta

A matriz transposta de A representa-se matematicamente como A^T. Por definição (A^T)_{ij} = (A)_{ji}.

Se A^T = A, a matriz diz-se simétrica.

Em Octave, a matriz transposta representa-se por
A'

Exercícios

  1. Prove que (A^T)^T = A
  2. Prove que (A + B)^T = A^T + B^T
  3. Prove que (\alpha A)^T = \alpha A^T
  4. Prove que (AB)^T = B^T A^T