如何将数组从带有字段的Matlab结构数组复制到数组结构

时间:2015-12-24 17:04:09

标签: arrays matlab struct

我目前有一个数组结构:

t2 = 

cotrain_idx: [7x1 double]
 trvate_idx: [7x1 double]
 conf_param: 0
  is_target: 0
   orig_idx: 0

我还有一个包含字段的结构数组:

t3 = 

1x7 struct array with fields:

    type
    latency
    urevent
    ImageName
    isTarget
    isAccurate
    origEventIdx

我想将包含t3.isTarget的所有元素复制到t2.is_target。但是我的所有尝试都会导致错误:

t2.is_target(:)=t3(:).isTarget;

似乎要复制第一个元素,即使t3(:)。isTarget清楚地返回所有7个元素:

>>> t3(:).isTarget

ans =

     0


ans =

     1


ans =

     1


ans =

     1


ans =

     1


ans =

     1


ans =

     1

我有什么明显的遗漏吗?如果必须,我可以一次复制一个元素,但我希望Matlab有更有效的方法来实现这一点。

1 个答案:

答案 0 :(得分:1)

您可以使用简化版本的结构尝试以下内容:

t2.a1=123

t3(1).isTarget=1
t3(2).isTarget=2
t3(3).isTarget=3

t2.isTarget=[t3.isTarget]

您可以使用t3.isTarget

访问[]字段的所有元素

希望这有帮助。