Finding an index from a 3D matrix
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Alonso Figueroa
el 20 de Abr. de 2023
Editada: Dyuman Joshi
el 20 de Abr. de 2023
Hello,
I am writing to ask for help in finding the index of a point in a 3D array. I have a 3D matrix of dimentions [M,N,O] and I have reshaped it onto a 1xQ array (Q = M*N*O)
I'm trying to find the index in array Q of a point selected three dimensionally in the MNO matrix. This could easily be performed in 2D ith the 'sub2ind()' function, but I havent been able to do this in 3D.
I would apreciate any help.
Best,
Alonso
0 comentarios
Respuesta aceptada
Dyuman Joshi
el 20 de Abr. de 2023
Editada: Dyuman Joshi
el 20 de Abr. de 2023
sub2ind works for 3D arrays as well
%Initial array, with random values for example
in = reshape(1:105,3,5,7);
%Array reshaped into a row vector
out = reshape(in,1,[]);
%Random point in the 3D array
ix = randi(3)
iy = randi(5)
iz = randi(7)
linearindex = sub2ind(size(in), ix, iy, iz)
%Verifying the answer as our data is simply 1:numel(in)
in(ix, iy, iz)
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!