Selected multiple values from a matrix

67 visualizaciones (últimos 30 días)
Jakob Sørensen
Jakob Sørensen el 21 de Mzo. de 2014
Comentada: Jakob Sørensen el 21 de Mzo. de 2014
Lets say i got a 10x10 matrix, lets call it M , and I want to select the data from [a,b] and [c,d]. Of course i could do this one at a time like this:
val_1 = M(a,b);
val_2 = M(c,d);
But I get my points handed in two separate vector, lets call them q and p, one with row indexes and one with column indexes like such:
q = [a c];
p = [b d];
Additionally I would like the values I select, to be combined in a vector as well. That is
vals = [val_1 val_2];
So my question is whether there is a clever way to do this? I mean it would be quite easy to just loop though the coordinates one-by-one, but there has to be a smarter, clearer way to do this? I hope you understand what I mean, it got a bit confusing :-p

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 21 de Mzo. de 2014
Editada: Azzi Abdelmalek el 21 de Mzo. de 2014
q = [a c];
p = [b d];
idx=sub2ind(size(M),q,p);
out=M(idx)
  1 comentario
Jakob Sørensen
Jakob Sørensen el 21 de Mzo. de 2014
I knew there had to be a clever way, thank you very much!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by