0

特定の値がセル内のどの行にあるかを調べ、別のセルからそれらの位置にある行を取得して変数に入れようとしています。

私のデータは次のようなものです:

1x4 Cell =

     A           B          C            D           %Cell labels for clarity
{10x1 Cell} {10x1 Cell} {10x1 Cell} [10x1 Double]

   B          blue          M           4.78
   R          red           N           6.43
   R          red           N           6.89
   B          blue          M           7.99
   B          blue          M           5.87
   B          blue          M           4.78
   R          red           N           6.43
   R          red           N           6.89
   B          blue          M           7.99
   B          blue          M           5.87

たとえば、次のようになります。1) にある行を検索し"blue"B2) "blue" が行 1、4、5、6、9、および 10 にあることがわかります。次に、3) 行を抽出します。 1、4、5、6、9、および 10 を別のデータセルからC新しい変数に。

私の知る限り、私が==やりたいことには、のような論理演算では不十分かもしれません。これを達成するには、どの機能を検討する必要がありますか?

ありがとう

4

2 に答える 2

2

これを試して:

C(cellfun(@isequal, B, repmat({'blue'},10,1)))

説明:

  • repmatサイズが B の 'blue' の cellarray を作成します
  • isequal2 つのセルの内容を比較します
  • cellfunすべてのセルに対して繰り返し、論理列を返します
  • C(...)この列で C にインデックスを付け、一致する行を返します

よろしく

于 2013-01-05T23:00:02.287 に答える