Selected multiple values from a matrix

68 次查看(过去 30 天)
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

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-3-21
编辑:Azzi Abdelmalek 2014-3-21
q = [a c];
p = [b d];
idx=sub2ind(size(M),q,p);
out=M(idx)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by