我已经定义了一个结构数组,如下所示:
t3(1:num_elems) = struct('prime_idx',0,'second_idx',0,);
我想将数组nic
复制到t3的prime_idx字段,以便t3(x).prime_idx == nic(x)
为所有x。我试过了:
t3.prime_idx = nic;
和 [t3.prime_idx] = nic; 和 t3.prime_idx = [nic]; 和 [t3.prime_idx] = [nic];
以及在两个数组变量(:)
和t3
之后添加nic
的各种排列。
如何将nic
的每个元素复制到t3对应元素的相应prime_idx
字段?
答案 0 :(得分:1)
表达式s.f,其中s是struct array ,导致以逗号分隔的列表。因此,写s.f = x;
无效,[s.f] = x;
可以工作,但需要x返回与s有项目一样多的输出。你需要的是提供那些输出,例如像这样:
cNic = num2cell(nic);
[t3.prime_idx] = cNic{:};