Mas*_*oud 5 arrays matlab struct
我试图将结构数组传递给另一个没有成功.
s(1).f = (1:3);
s(2).f = (4:6);
s(3).f = (7:9);
q(1).n = 'nameA';
q(2).n = 'nameB';
q(3).n = 'nameC';
q(3).f = [];
q.f = s.f
Run Code Online (Sandbox Code Playgroud)
n不应修改该字段.
我错过了什么吗?
您可以将结构体数组的每个字段直接分配给元胞数组,然后可以使用将deal结构体转换为元胞数组:
s(1).f = (1:3);
s(2).f = (4:6);
s(3).f = (7:9);
q(1).n = 'nameA';
q(2).n = 'nameB';
q(3).n = 'nameC';
c = cell(3,1);
[c{:}] = deal(s.f);
[q.f] = c{:};
Run Code Online (Sandbox Code Playgroud)
编辑: 或者正如Shai指出的那样,你可以走了
[q.f] = s.f
Run Code Online (Sandbox Code Playgroud)