3

現在、画像名をリストする単一フィールドの Matlab 構造体が 2 つあります。それらを重複のない単一の構造体に結合したい-つまり

a(1).img = 'aa.jpg'
a(2).img = 'bb.jpg'

b(1).img = 'bb.jpg'
b(2).img = 'cc.jpg'

ab に値を持たせたい:

ab(1) = 'aa.jpg'
ab(2) = 'bb.jpg'
ab(3) = 'cc.jpg'

これを行うためのブルートフォース以外の方法はありますか?

4

1 に答える 1

3

コンマ区切りのリストを使用して各構造体の値を連結し、その後に続くunique一意の値を取得できます。次に、これを関数に渡すと、値structを含む配列が作成されstructsます。

S = struct('img', unique({a.img, b.img}, 'stable'))

構造体出力が実際には必要なく、一意の値のセル配列だけが必要な場合は、への最後の呼び出しを削除できますstruct

unique({a.img, b.img}, 'stable')
于 2016-07-22T18:45:16.957 に答える