3

私のコードでは、1:10の反復でidxcell {:、1}を実行すると、次の結果が得られます。

ans =
         9    10    14    15    19    20    24    25
    ans =
      Columns 1 through 13
         7     8    11    12    13    14    16    17    18    19    21    22    23
      Column 14
        24
    ans =
        13    14    15    18    19    20    23    24    25
    ans =
         6     7    11    12    16    17    21    22
    ans =
        16    17    21    22
    ans =
         6     7    11    12    13    16    17    21
    ans =
         4     5     8     9    10    13    14    15    19    20
    ans =
         4     5     8     9    10    14    15
    ans =
        11    12    13    14    16    17    18    19    21    22    23    24
    ans =
         1     2     3     6     7     8    11    12    13

それらのセルの要素の最も繰り返される値を取得するにはどうすればよいですか(そのパラダイムは「14」だと思います)?値だけのインデックスは必要ありません。私が試してみました

idxcell{:,1}
temp = idxcell{:,1};
M = mode(temp)

しかし、最初のセルについてのみ結果が得られ、mode()が私の目的のために使用しなければならないものであるかどうかはわかりません。


これは、アナガーによって答えられました: mode([idxcell{:}])


改訂:また、i回の反復ですべてのセル配列/行を一度に検索して、最も繰り返される値を見つけ、セル配列またはマトリックス内の結果を降順で並べ替えることは可能ですか?


|獲得者のアドバイスの後で私が答えた:Sort = sort([idxcell{:}])


前もって感謝します。

4

1 に答える 1

8

私が正しく理解している場合は、呼び出す前にすべてのセルベクトルを1つに連結する必要がありますmode

mode([idxcell{:}])
ans =

13

すべてのセルで最も頻繁に表示される値を取得する場合は、次を使用できます。cellfun

cellfun(@mode, idxcell)
ans =

 9    10    14    15    19    20    24    25
于 2012-11-20T19:36:03.747 に答える