1

私は次のことをしたい

入力: (セル配列)

ab

交流

広告

aab

交流

aac

aab

交流

次のように、出力を一意の数値にマップしたい

1

2

3

4

2

5

4

2

これを行う簡単な方法はありますか?入力は約 250,000 で、可変長です。同じ内容のセルを同じ番号にマップしたいだけです。

ありがとう。

4

1 に答える 1

5

cell 配列 A を呼び出すと、次のコマンドで必要な処理が実行されます。

[uniqueCells,~,idxYouWant] = unique(A);

これは、uniqueCellsあなたが持っている一意の値です(ソートされた順序で); そしてidxYouWant、あなたが望むような数字の配列です。

A = uniqueCells(idxYouWant);

これはまさにあなたが必要としているものだと思います。

于 2013-04-24T05:52:17.390 に答える