我想结合两个具有不同字段名称的结构.
例如,从以下开始:
A.field1 = 1;
A.field2 = 'a';
B.field3 = 2;
B.field4 = 'b';
Run Code Online (Sandbox Code Playgroud)
我想拥有:
C.field1 = 1;
C.field2 = 'a';
C.field3 = 2;
C.field4 = 'b';
Run Code Online (Sandbox Code Playgroud)
有没有比使用"fieldnames"和for循环更有效的方法?
编辑:我们假设在字段名称冲突的情况下,我们优先考虑A.
我想知道是否有一种方便的方法来更新结构与Matlab中的另一个结构的值.下面是代码,与使用fieldnames,numel以及for循环,
fn = fieldnames(new_values);
for fi=1:numel(fn)
old_struct.(fn{fi}) = new_values.(fn{fi});
end
Run Code Online (Sandbox Code Playgroud)
当然,我不希望失去在田野old_struct中没有的new_values,所以我不能用简单old_struct=new_values.
更新结构是我们可能想要在解释器中的单个短行中执行的操作.