Os "subsripts" são muito importantes para localizar as células de uma matriz de dados e, também, para se poder fazer operações matemáticas utilizando células específicas da nossa matriz.
É preciso ter em mente que a regra no Matlab para localizar um elemento (ou célula) de uma matriz é a seguinte: A(
i,j) em que
i simboliza a linha e
j a coluna.
Assim, considerando a nossa matriz "magic square", qual será o número inscrito na posição A(4,2)?
Vamos recordar a matriz mágica A:
Respeitando a regra acima descrita facilmente se deduz que a célula procurada se encontra na linha 4 e na coluna 2, ou seja, trata-se da célula que tem o valor 15.
E se quisermos somar todos os valores de uma coluna usando esta notação? Faz-se assim:
A(1,4) + A(2,4) + A (3,4) + A (4,4) = 34. Estamos aqui a somar todos os valores de uma coluna (a 4.ª) e como se trata de uma matriz mágica o valor 34 será sempre igual independentemente da linha, coluna ou diagonal que escolhermos!
Mas o Matlab está cheio de surpresas, e neste campo existe uma forma mais elegante de localizar células específicas usando uma notação muito mais simplificada. O Matlab considera que as células de uma matriz são ordenadas por números inteiros crescentes seguindo coluna a coluna, da esquerda para a direita, isto é:
| 1 |
5 |
9 |
| 2 |
6 |
10 |
| 3 |
7 |
11 |
| 4 |
8 |
12 |
Assim, a matriz mágica pode ser considerada como um vector coluna de grande dimensão "one long column vector". A posição A (4,2) será então equivalente, na nova notação, a A (8) .
Podemos também acrescentar uma nova coluna seguindo qualquer uma das notações anteriormente descritas:
X=A
X (4,5) =17 de reparar que não existe a 5.ª coluna na nossa matriz mágica de 4x4, mas o Matlab cria esta coluna preenchendo com zeros todas as células que não correspondem às coordenadas (4,5) e colocando 17 nessa posição:
X(4,5)=17
X =
16 2 3 13 0
5 11 10 8 0
9 7 6 12 0
4 14 15 1 17
Se eu quiser usar a notação mais simples e quiser colocar o valor 18 em vez do 17 faço assim:
X(20)=18
X =
16 2 3 13 0
5 11 10 8 0
9 7 6 12 0
4 14 15 1 18
Tudo é muito simples neste mundo matemático matricial em ambiente Matlab!