quinta-feira, 15 de maio de 2014

Operações com potências em ambiente matricial

Nesta fase tudo se torna mais interessante porque começamos a trabalhar com matrizes que se transformam a partir de operações simples. Vamos usar a potência, isto é, em linguagem corrente "um número elevado a outro". Como se faz isto no Matlab?

Nada mais simples:

Comecemos por definir um vector coluna. Não devemos esquecer que por omissão o Matlab ordena tudo em linhas. Por exemplo de quisermos ter uma matriz de números inteiros definida entre 0 e 9 a forma de a obter é:

n=(0:9);

o que dá:

uma matriz de uma linha  0 1 2 3 4 5 6 7 8 9

mas o que queremos é uma coluna e então usamos o sinal ' para transpor a nossa matriz:

n=(0:9)';

0
1
2
3
4
5
6
7
8
9

Agora vamos "compor" esta matriz usando a potência como operador e vamos realizar duas operações para além da representação inicial da matriz n a 1 coluna, isto é, vamos obter como resultado final uma matriz de 3X9.

pows=[n  n.^2  2.^n]

O sinal ^ significa "elevado a" e deve em Matlab ser sempre precedido de um ponto. O que nos está a indicar o operador "pows" é a transformação nossa matriz inicial n (só com uma coluna) numa outra, cujas colunas adicionais resultam da elevação de cada elemento ao quadrado (n.^2) e do cálculo do valor 2 elevado a cada elemento da matriz inicial (2.^n). O cálculo é feito linha a linha

Os resultados são então:


     0     0     1
     1     1     2
     2     4     4
     3     9     8
     4    16    16
     5    25    32
     6    36    64
     7    49   128
     8    64   256
     9    81   512

Com isto está aberto o caminho para se poder  trabalhar com as transformações logarítmicas de grandes matrizes de dados reais com o intuito de resolver a grande questão do "constrangimento dos valores a 100 %". Será um assunto a ser abordado em breve. Para já ainda existem umas etapas a ultrapassar.

Sem comentários: