2

簡単な質問があります。

2つの配列があるとしましょう:

data = [1 1 2 2 2 2 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6];
A = [1 3 6];

Aの任意の値と等しいデータの値のインデックスが必要です。

つまり、その答えは次のようになります:1、2、7、8、9、19、20、21

forループを使用せずに、Aから各値を1つずつスキャンせずにそれを行う方法..?ありがとう!美術。

4

1 に答える 1

8

これはまさにそれを行います:

inds = find(ismember(data, A))

関数は、にあるismemberすべての要素を検索しdataますA。の2番目の出力ismemberも役立つ可能性があります。

>> [~, b] = ismember(data, A))
ans = 
    1 1 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 3 3 3

ここで1、、2および3へのインデックスを参照しAます。

于 2012-09-20T06:36:56.437 に答える