reverse indexing with conditions

5 次查看(过去 30 天)
Let A = [1 2 4 6 10], I want to find the indices of the matrix for which the element less than 5.
So if I say: A < 5, then it will return [1 1 1 0 0]. How can I proceed to get the index of all those 1's?
Thanks

采纳的回答

TastyPastry
TastyPastry 2015-11-9
idx = 1:numel(A);
mask = A < 5;
idx = idx(mask);

更多回答(1 个)

Thorsten
Thorsten 2015-11-9
编辑:Thorsten 2015-11-9
To get numerical indices, use find
idx = find(A < 5);
You can also use logical indices, that are often faster:
idx = A < 5;
In both cases you get the indexed numbers using
A(idx)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by