give value 0 when doesn't find element without LOOP
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
gabriele fadanelli
am 10 Apr. 2020
Kommentiert: gabriele fadanelli
am 10 Apr. 2020
I need to find and find the row positions of elements in a matrix for every colum and return 0 if those elements are not found, e.g.:
A=[7 6 5; 9 2 3; 2 7 1]
B=[7]
sol=sum(ismember(A,B))
gives me the result
[1 1 0]
But I wish I had [1 3 0] as result since the second 7 is in the third row.
I tried also to mutiply
sol=sum(ismember(A,B))*find(ismember(A,B))
%or
sol=sum(ismember(A,B)).*find(ismember(A,B))
but none of them is correct. I hope somebody coud help me
0 Kommentare
Akzeptierte Antwort
Geoff Hayes
am 10 Apr. 2020
gabriele - try multiplying the result of ismember with a row array of [1 2 3] like
>> sol = [1:size(A,2)] * ismember(A,7);
>> sol
sol =
1 3 0
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!