location of non zeros

8 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

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!