give value 0 when doesn't find element without LOOP

1 次查看(过去 30 天)
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

采纳的回答

Geoff Hayes
Geoff Hayes 2020-4-10
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by