Faz alguns anos, eu escrevi um texto no portal Unidev sobre "matrizes com mais de duas dimensões": http://www.unidev.com.br/phpbb3/viewtopic.php?f=21&t=22287&view=previous
Neste caso, o vetor se comporta com uma "matriz de matrizes".
Imaginemos um número, então o vetor é uma seqüência de números, por exemplo
assim, a matriz é um vetor de vetores (um vetor, onde cada elemento é um vetor),
uma matriz 3D (matrizes com mais de 2 dimensões também podem ser chamadas de tensores) é um vetor de matrizes 2D,
uma matriz 4D é um vetor de matrizes 3D (um vetor, onde cada elemento é uma matriz 3D),
e assim por diante.
Quanto à forma que isso se coporta na memória, é meio complicado de explicar, mas imagine que todos os elementos da matriz de 'n' dimensões (números) estão enfileirados, um atrás do outro, e o acesso a cada elemento é feito seguinto a lógica da dimensionalidade (número de dimensões).
Neste caso, o vetor se comporta com uma "matriz de matrizes".
Imaginemos um número, então o vetor é uma seqüência de números, por exemplo
vetor = [1, 1, 1, 1, 1, 2],
assim, a matriz é um vetor de vetores (um vetor, onde cada elemento é um vetor),
matriz = [vetor1, vetor2, vetor3, ...]
uma matriz 3D (matrizes com mais de 2 dimensões também podem ser chamadas de tensores) é um vetor de matrizes 2D,
tensor3D = [matriz1, matriz2, matriz3, ...]
uma matriz 4D é um vetor de matrizes 3D (um vetor, onde cada elemento é uma matriz 3D),
tensor4D = [tensor3D_1, tensor3D_2, tensor3D_3, ...]
e assim por diante.
Quanto à forma que isso se coporta na memória, é meio complicado de explicar, mas imagine que todos os elementos da matriz de 'n' dimensões (números) estão enfileirados, um atrás do outro, e o acesso a cada elemento é feito seguinto a lógica da dimensionalidade (número de dimensões).
Nenhum comentário:
Postar um comentário