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
0 个评论
采纳的回答
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 Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!