有没有简单的方法来组合以下两个结构,而不使用for循环或CELLFUN?
struct1 =
a: {43x1 cell}
struct2 =
b: [43x1 double]
c: {43x1 cell}
我希望得到这样的组合结构:
struct3 =
a: {43x1 cell}
b: [43x1 double]
c: {43x1 cell}
答案 0 :(得分:5)
我使用update struct via another struct in Matlab中的建议得到了我想要的内容,如下所示:
names = [fieldnames(struct1); fieldnames(struct2)];
struct3 = cell2struct([struct2cell(struct1); struct2cell(struct2)], names, 1);
答案 1 :(得分:0)
从Mathworks考虑this article and associated MATLAB Exchange script:
<强>主题强>:
如何连接或合并两个结构?问题描述:
我想将两个结构合并到一个包含的新结构中 两个原始结构的所有领域。我怎么能这样做 MATLAB?
<强>解决方案强>:
MATLAB中没有可用于连接的直接能力 结构。
附加文件mergeStructs.m显示了许多方法 用于在MATLAB中合并结构。
MATLAB中心用户社区也有在线提交 你可以使用。其中一个提交是:
http://www.mathworks.com/matlabcentral/fileexchange/7842
请注意,MathWorks不保证或保证使用或内容 这些意见书。任何问题,问题或投诉都应该是 导致撰稿人。