我有一个存储在SUBJ {s}。中的数据集,然后是SUBJ.WORDS {W}和SUBJ.RECALL {r}字段。我试图创建一个循环,找到SUBJ.RECALL何时对应1(1 =记住的单词,0不记得)。之后我想显示与SUBJ.RECALL为1的位置相对应的单词。说
SUBJ{1}.WORDS{1}={‘Apple’, ‘Melon’, ‘Cheese’ ,’Pancakes’,Tomatoes’}% words presented.
`SUBJ{1}.RECALL{1}=[1 0 0 1 1]% 1=word recalled 0=word non recalled.
我想要的是显示已被召回的单词,这意味着与SUBJ.RECALL中的1对应的单词。 我这样做了:
for s=1:length(SUBJ)
for w=1:length(SUBJ.WORDS)
for r=1:length(SUBJ.RECALL)
if SUBJ{s}.RECALL{r}==1
disp(SUBJ{s}.WORDS{(SUBJ.RECALL{r}==1)})
end
end
end
end
错误:尝试引用非结构数组的字段。
for s=1:length(SUBJ)
for w=1:length(SUBJ.WORDS)
for r=1:length(SUBJ.RECALL)
find(SUBJ{s}.RECALL{r}==1)
disp(SUBJ{s}.WORDS{(SUBJ.RECALL{r}==1)})
end
end
end
错误:尝试引用非结构字段
提前感谢任何评论!
答案 0 :(得分:0)
您可能不需要这么多for循环,因为您可以使用npm install
处理单元格元素内容。我在下面提供了示例代码。这适用于您的样本数据,但可能因整个数据集而失败,因为我不知道结构。
find