我目前有一个数组结构:
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有更有效的方法来实现这一点。
答案 0 :(得分:1)
您可以使用简化版本的结构尝试以下内容:
t2.a1=123
t3(1).isTarget=1
t3(2).isTarget=2
t3(3).isTarget=3
t2.isTarget=[t3.isTarget]
您可以使用t3.isTarget
[]
字段的所有元素
希望这有帮助。