find a set of data in an array

19 ビュー (過去 30 日間)
mahsa momtahan
mahsa momtahan 2020 年 1 月 31 日
コメント済み: Ridwan Alam 2020 年 1 月 31 日
Hi everyone,
I have an array of repetitive values something like A=[0;0;396; ...;140;... ;403; 0 ;0 ;0 ;200; 140; ...;403; 0; 0 ] . I extracted non-zero set of data to another array, called B=[396; ...;140;... ;403 , 200; 140; ...;403]. Now, I want to find the index of each set of elements of array B from array A, but when I use '[tf,idx] = ismember (B,A)' , what is happening is that for those repeated elements the index is always the same as the index of first appeared one (idx for second 140 or 403 is the same of the idx of the first ones!). So, my question is that how can I find the indexes based on order ? or how can I find indexes when all the elements of array B's columns exactly repeated in array A?
Thanks,
Mahsa
  1 件のコメント
Ridwan Alam
Ridwan Alam 2020 年 1 月 31 日
maybe if you share your A and B and some sample code, it would be easier to help.

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

回答 (2 件)

Ridwan Alam
Ridwan Alam 2020 年 1 月 31 日
編集済み: Ridwan Alam 2020 年 1 月 31 日
idx = find(A~=0);
B = A(idx);
idx and B have the same size and order. I believe this is what you are looking for?

mahsa momtahan
mahsa momtahan 2020 年 1 月 31 日
No this won't work. I have a big data and as the exact time of appearing each element mattters, I cannot find out that the idx returned by 'idx = find(A~=0)' belongs to which elements (one data can be repeated so many times). I used regionprops(Data>Threshold, Data, 'PixelValues') to extract my data and need to find whole set of founded Pixelvalues in Data (for each i=1:xx, B(:,i) should be found in A).

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by