How to Apply Logical Indexing and Then a Subscript to a Vector in One Line of Code
Ältere Kommentare anzeigen
Let's say I have a vector
a=(linspace(1,10,10))';
And a set of logicals to shrink this vector
b=logical(zeros(10,1));
b([1:2, 5:6])=logical(1);
c= a(b);
And d is a subcript(s) that comes from some other vector (e) that is the same size as c
e=rand(size(a(b),1),1);
[~,d]=max(e);
Now I want to create vector f
f=c(d);
However, I would like to avoid this middle step of creating and calling for c due to the size of my vectors. The theoretical b and d vectors are readily available from previous steps. In my head, this looked like the following
f=(a(b))(d);
Unfortunately, that did not work. Any help is much appreciated.
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!