arrays - 如何在 MATLAB 中合并结构体/结构体数组?

标签 arrays matlab merge concatenation matlab-struct

我正在尝试合并两个具有相同字段的结构。我尝试了几种方法,比如thisthis 。但结果要么是横向的,要么根本不起作用。

我的两个(简化的)结构是

a(1).name = 'x';
a(1).data = 1;
a(2).name = 'y';
a(2).data = 2;

b(1).name = 'x';
b(1).data = 3;
b(2).name = 'y';
b(2).data = 4;

所需的输出与将产生的结果相同:

c(1).name = 'x';
c(1).data = 1;
c(2).name = 'y';
c(2).data = 2;
c(3).name = 'x';
c(3).data = 3;
c(4).name = 'y';
c(4).data = 4;

有什么简单的方法可以做到这一点?在我的真实结构中,有两个以上的字段具有一千多个值。

最佳答案

下面的代码就是这样做的。

%-------------------------------------------------------
a(1).name = 'x';
a(1).data = 1;
a(2).name = 'y';
a(2).data = 2;
b(1).name = 'x';
b(1).data = 3;
b(2).name = 'y';
b(2).data = 4;

c = struct('name',{a(:).name,b(:).name},'data',{a(:).data,b(:).data});
%-------------------------------------------------------
>> c(1)
ans =
    name: 'x'
    data: 1
>> c(2)
ans =
    name: 'y'
    data: 2
>> c(3)
ans =
    name: 'x'
    data: 3
>> c(4)
ans =
    name: 'y'
    data: 4

关于arrays - 如何在 MATLAB 中合并结构体/结构体数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35035716/

相关文章:

algorithm - 我该如何优化这个索引算法

c# - 如何将 C++ Windows dll 合并到 C# 应用程序 exe 中?

javascript - 使用排序逻辑合并和排序多个数组

svn - 具有多个开发人员的 Matlab Simulink 版本控制

java - 通过将二维数组复制到一维数组来对二维数组进行排序,输出正确,但迭代重复

java - 我的 Android ArrayList 只显示最后添加的值

python - 使用 2d 数组对 3d numpy 数组进行索引

excel - 将日期从 Excel 导入到 Matlab

python - 交叉引用数据帧以提取Python中的特定值

java - 字符串列表不适用于 Spinner ArrayAdapter