Operações Básicas com Matriz

Este exemplo mostra técnicas básicas e funções para trabalhar com matrizes na linguagem MATLAB®.

Primeiro, vamos criar um vetor simples com 9 elementos chamados a.

a = [1 2 3 4 6 4 3 4 5]
a = 

     1     2     3     4     6     4     3     4     5

Now let’s add 2 to each element of our vector, a, e armazenar o resultado em um novo vetor.

Observe como o MATLAB não requer nenhum tratamento especial de matemática vetorial ou matricial.

b = a + 2
b = 

     3     4     5     6     8     6     5     6     7

Criar gráficos no MATLAB é tão fácil como realizar um comando. Vamos traçar o resultado da nossa adição de vetores com linhas de grade.

plot(b)
grid on

MATLAB também pode fazer outros tipos de gráficos, com rótulos de eixos.

bar(b)
xlabel('Exemplo #')
ylabel('Pounds')

O MATLAB também pode usar símbolos em gráficos. Aqui está um exemplo usando estrelas para marcar os pontos. O MATLAB oferece uma variedade de outros símbolos e tipos de linha.

plot(b,'*')
axis([0 10 0 10])

Uma área em que o MATLAB se destaca é a computação de matriz.

Criar uma matriz é tão fácil como fazer um vetor, usando pontos e vírgulas (;) para separar as linhas de uma matriz.

A = [1 2 0; 2 5 -1; 4 10 -1]
A = 

     1     2     0
     2     5    -1
     4    10    -1

Podemos encontrar facilmente a transposição da matriz A.

B = A'
B = 

     1     2     4
     2     5    10
     0    -1    -1

Agora vamos multiplicar essas duas matrizes juntas.

Note novamente que o MATLAB não exige que você lide com matrizes como uma coleção de números. O MATLAB sabe quando você está lidando com matrizes e ajusta seus cálculos de acordo.

C = A * B
C = 

     5    12    24
    12    30    59
    24    59   117

Em vez de fazer uma matriz multiplicar, podemos multiplicar os elementos correspondentes de duas matrizes ou vetores usando o operador. *.

C = A .* B
C = 

     1     4     0
     4    25   -10
     0   -10     1

Vamos usar a matriz A para resolver a equação, A * x = b. Fazemos isso usando o operador \ (barra invertida).

b = [1;3;5]
b = 

     1
     3
     5

x = A\b
x = 

     1
     0
    -1

Agora podemos mostrar que A * x é igual a b.

r = A*x - b
r = 

     0
     0
     0

MATLAB tem funções para quase todos os tipos de cálculo de matriz comum.

Existem funções para obter valores próprios …

eig(A)
ans = 

    3.7321
    0.2679
    1.0000

… bem como os valores singulares.

svd(A)
ans = 

   12.3171
    0.5149
    0.1577

A função “poly” gera um vetor contendo os coeficientes do polinômio característico.

O polinômio característico de uma matriz A é

p = round(poly(A))
p = 

     1    -5     5    -1

Podemos encontrar facilmente as raízes de um polinômio usando a função roots.

Estes são, na verdade, os autovalores da matriz original.

roots(p)
ans = 

    3.7321
    1.0000
    0.2679

O MATLAB tem muitas aplicações além da simples computação de matriz.

Para convolver dois vetores …

q = conv(p,p)
q = 

     1   -10    35   -52    35   -10     1

… ou convolver novamente e traçar o resultado.

r = conv(p,q)
r = 

     1   -15    90  -278   480  -480   278   -90    15    -1

plot(r);

A qualquer momento, podemos obter uma listagem das variáveis que armazenamos na memória usando o comando who ou whos.

whos
  Name      Size            Bytes  Class     Attributes

  A         3x3                72  double              
  B         3x3                72  double              
  C         3x3                72  double              
  a         1x9                72  double              
  ans       3x1                24  double              
  b         3x1                24  double              
  p         1x4                32  double              
  q         1x7                56  double              
  r         1x10               80  double              
  x         3x1                24  double              

Você pode obter o valor de uma variável particular digitando seu nome.

A
A = 

     1     2     0
     2     5    -1
     4    10    -1

Você pode ter mais de uma declaração em uma única linha, separando cada declaração com vírgulas ou ponto e vírgula.

Se você não atribuir uma variável para armazenar o resultado de uma operação, o resultado será armazenado em uma variável temporária chamada ans.

sqrt(-1)
ans = 
   0.0000 + 1.0000i

Como você pode ver, o MATLAB lida facilmente com números complexos em seus cálculos.

Translate »