gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 08:28:26 24 4
gpt4 key购买 nike

我正在尝试合并两个具有相同字段的结构。我尝试了几种方法,比如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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com