フィルターのクリア

give value 0 when doesn't find element without LOOP

2 ビュー (過去 30 日間)
gabriele fadanelli
gabriele fadanelli 2020 年 4 月 10 日
コメント済み: gabriele fadanelli 2020 年 4 月 10 日
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
  1 件のコメント
gabriele fadanelli
gabriele fadanelli 2020 年 4 月 10 日
thank you a lot. it was pretty easy

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by