location of non zeros

2 visualizzazioni (ultimi 30 giorni)
Mate 2u
Mate 2u il 9 Lug 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, ......

Risposta accettata

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

Più risposte (1)

Dan Seal
Dan Seal il 9 Lug 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!

Translated by