Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
Drexel University or The Math Forum.


Jeff
Posts:
113
Registered:
11/22/09


Replacing `find` with logical indexing
Posted:
Jul 9, 2013 8:44 PM


I am trying to find the smallest nonzero magnitude element of a vector, D. Note that D is not integers. I am eliminating nonzero entries using the `find` command (first line below). The editor says to replace `find` with logical indexing, but replacing `D(find(D))` with `D(D)` returns an error. This is not slowing my code very much, but the editor's warning is mildly bothersome. How do I use logical indexing to fix this?
nonZeroD = abs(D(find(D))); lambda = max(nonZeroD(nonZeroD == min(nonZeroD))); ICmode = find(D==lambda, 1, 'first');
I also note that the editor doesn't complain about the second `find`.



