相关疑难解决方法(0)

在MATLAB中组合两个结构有哪些有效的方法?

我想结合两个具有不同字段名称的结构.

例如,从以下开始:

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.

merge matlab field structure

24
推荐指数
3
解决办法
2万
查看次数

通过Matlab中的另一个结构更新struct

我想知道是否有一种方便的方法来更新结构与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.

更新结构是我们可能想要在解释器中的单个短行中执行的操作.

matlab struct

8
推荐指数
1
解决办法
4523
查看次数

标签 统计

matlab ×2

field ×1

merge ×1

struct ×1

structure ×1