14

私がこのマトリックスを持っていると考えてください:

   02, 04, 06, 08, 10, 2
   07, 14, 21, 28, 35, 2
   11, 22, 33, 44, 55, 0
   15, 14, 21, 28, 35, 2

同じ行列を作成したいのですが、最後の行のみを使用しますcolumn = 2。だから私はこのマトリックスが欲しい:

   02, 04, 06, 08, 10, 2
   07, 14, 21, 28, 35, 2
   15, 14, 21, 28, 35, 2

すべてのマトリックスを解析できますが、他の方法はありますか?

編集

より正確には、文字列を含むセル配列があります。

   02, 04, Some String, 08, 10, 2
   07, 14, Some String1, 28, 35, 2
   11, 22, Some String1, 44, 55, 0
   15, 14, Some String, 28, 35, 2
4

1 に答える 1

31

行列の行に論理インデックスを使用するだけです。

row_idx = (A(:, end) == 2);

これで、 sとsのrow_idx論理配列が含まれ、行の最後の要素が2に等しいsが含まれます。101

次に、これらの行を次のようにフィルタリングします。

A_filtered = A(row_idx, :);

これらの手順はすべて、通常、ワンライナーで実行されます。

A_filtered = A(A(:, end) == 2, :);
于 2013-01-15T15:57:42.870 に答える