3

私はデータの配列を持っています。簡単にするために、これを 4 x 3 行列と呼びましょう。列 2 の値が 5 のデータ ポイントを見つけたいとします。次に、列 2 に値 5 を含むすべての行を取得し、それを独自の配列に配置します。私のデータは下に表示されているものよりもはるかに大きいので、目で見て、データのすべての行を見て、すべての 5 を識別したくありません。

  % My idea of the code:

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

  if data(:,2) == 5

  % This is the part I can't figure out

  end

finaldata を、5 のデータが格納される配列と呼びましょう。どうすればいいですか?

4

2 に答える 2

6

論理インデックスを使用する必要があります。

all_fives_rows = data(data(:, 2) == 5, :)
于 2013-01-09T23:48:31.993 に答える
0

FIND関数を使用してその値を検索し、座標を返して (ベクトルの場合もあります)、行を取得できます。

data(find (data(:,2)==5),:)

論理インデックスを使用しない理由:パフォーマンス

于 2013-01-09T23:41:39.020 に答える