location of non zeros

2 views (last 30 days)
Mate 2u
Mate 2u on 9 Jul 2013
Hi there if I have a 100x1 matrix which has some zeros in it, how can i find the corresponding matrix of "locations" for all the cells which are non-zero.
Eg, 1, 3, 2, 0 , 2, 4, 1, 0 , 0
Output:
1, 2, 3, 5, 6, 7, ......

Accepted Answer

Matt J
Matt J on 9 Jul 2013
Edited: Matt J on 9 Jul 2013
>> A=[ 1, 3, 2, 0 , 2, 4, 1, 0 , 0];
>> locations = find(A)
locations =
1 2 3 5 6 7

More Answers (1)

Dan Seal
Dan Seal on 9 Jul 2013
Use the logical ~= (not equal). This is not an assignment, but rather a test to see where two things are not equal to each other.
>> a = [1, 3, 2, 0 , 2, 4, 1, 0 , 0]
a =
1 3 2 0 2 4 1 0 0
>> loc = a ~= 0
loc =
1 1 1 0 1 1 1 0 0

Community Treasure Hunt

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

Start Hunting!