【问题标题】:How can I copy a Matlab array to a field of an array of structs如何将 Matlab 数组复制到结构数组的字段中
【发布时间】:2016-03-31 03:01:53
【问题描述】:

我已经定义了一个结构数组,如下所示:

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] = 网卡; 和 t3.prime_idx = [nic]; 和 [t3.prime_idx] = [nic];

以及在两个数组变量t3nic之后添加(:)的各种排列。

如何将nic的每个元素复制到t3对应元素对应的prime_idx字段中?

【问题讨论】:

    标签: arrays matlab struct


    【解决方案1】:

    表达式 s.f,其中 s 是一个结构 数组,结果是一个逗号分隔的列表。因此,写s.f = x; 是无效的,[s.f] = x; 可以工作,但需要 x 返回与 s 拥有的项目一样多的输出。您需要提供这些输出,例如像这样:

    cNic = num2cell(nic);
    [t3.prime_idx] = cNic{:};
    

    【讨论】:

      猜你喜欢
      • 2016-03-31
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 2015-01-06
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      相关资源
      最近更新 更多