matlab - 如何使用两个单字段 Matlab 结构执行联合

标签 matlab struct matlab-struct

我目前有两个列出图像名称的单字段 Matlab 结构。我想将它们组合成一个没有重复的结构 - 即

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'

有没有一种非暴力的方法可以做到这一点?

最佳答案

您可以使用逗号分隔的列表连接每个结构的值,后跟 unique 以获得唯一值。然后,将其传递给 struct 函数将创建一个包含值的 structs 数组。

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

如果您实际上不需要结构输出,而只需要一个包含唯一值的元胞数组,则可以消除对 struct 的最终调用。

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

关于matlab - 如何使用两个单字段 Matlab 结构执行联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38533327/

相关文章:

c++ - OpenCV 中是否有类似 MATLAB 的 'impixelinfo()' 的功能?

Matlab 从 3D 矩阵中分离出 2D 数组

go - 如何访问 Go 中接口(interface)的字段?

c - 动态结构数组中的 malloc 动态数组

MATLAB 结构合并

matlab - 如何在 MATLAB 中重命名结构体数组中的字段?

matlab - 如何使用 Matlab 在特定时间间隔播放音频文件?

MATLAB:在 for 循环中绘制子图

C - 结构中的无符号字符

string - Matlab中变量的结构名称