Select only some Index in matrix

2 visualizaciones (últimos 30 días)
user20912
user20912 el 3 de Mzo. de 2022
Comentada: Matt J el 3 de Mzo. de 2022
Hi,
I have two variables:
whos var1 var2
Name Size
var1 331x666x31
var2 11x1
Where:
var2 = [ 3 5 6 7 8 9 10 11 12 15 16]
I only want to keep this numbers as index in the third dimension of var1. It's correct If I just do the following?
var3 = var1(:,:,var2);
Or a better approach would be use a for loop?
for i1 = 1:size(var2,1)
dummy = var2(i1);
var3(:,:,i1) = var1(:,:,dummy);
end
I'm concerned with optimization since I need to do this inside another for loop. Which is better or is there another better approach?
Thank in advance

Respuesta aceptada

Matt J
Matt J el 3 de Mzo. de 2022
Editada: Matt J el 3 de Mzo. de 2022
The former approach is definitely better. It uses half as much memory and should be much faster for large var2.
  2 comentarios
user20912
user20912 el 3 de Mzo. de 2022
Thanks for your fast answer.
Matt J
Matt J el 3 de Mzo. de 2022
You're welcome, but please Accept-click the answer if your question is now resolved.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by