1

Matlabで文字列のセットを作成する簡単な方法はありますか?

ファイルパスのリストを調べていますが、特定のレベルのフォルダーのすべての名前を取得したいと思います。しかし、いくつかのフォルダーにはいくつかのファイルがあるので、私はこれらのフォルダーを数回取得します。

セル配列を作成し、現在のフォルダー名が既に配列に含まれているかどうかを毎回確認し、含まれていない場合は追加する可能性があることを私は知っています。

もう1つのオプションは、javaHashSetクラスを使用することです。

しかし、そのようなことを行うための簡単な組み込みのMatlabの方法はありますか?文字列ではなく文字のベクトルを作成するため、Vectorを使用できません。

4

3 に答える 3

1

残念ながら、JavaSetの実装ほど効率的なものはありません。

ただし、set操作を使用できます。追加unionするとき、または単にuniqueコレクションを複製して呼び出すとき。

于 2012-05-29T11:50:27.103 に答える
1

スクリプトを使用できますrdir...MATLABファイル交換が助けになります!

次のように使用します。

listing = rdir(name);

この関数は、組み込みコマンドlistingと同様の構造を返します。 これにより、ディレクトリツリーを自分で繰り返すという頭痛の種を減らすことができます。dir

于 2012-05-29T11:52:56.233 に答える
0

「ユニーク」はどうですか:

x = {'dog', 'cat', 'cat', 'fish', 'horse', 'bird', 'rat', 'rat'};    
x_set=unique(x)    
x_set =  
'bird'    'cat'    'dog'    'fish'    'horse'    'rat'
于 2013-05-08T20:25:35.663 に答える