我试图将一个结构数组传递给另一个但没有成功。
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
不应修改字段 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{:};
Here is a good article on this sort of thing
编辑: 或者作为 Shai指出你可以走了
[q.f] = s.f
关于arrays - 如何将结构数组传递给另一个结构数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15133169/