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.