Ich habe einen Datensatz in SUBJ {s}., Und dann Felder SUBJ.WORDS {w} und SUBJ.RECALL {r} gespeichert. Ich habe versucht, eine Schleife zu erstellen, die findet, wenn SUBJ.RECALL 1 entspricht (1 = Wort erinnert, 0 nicht gespeichert). Danach möchte ich die Worte angezeigt haben, die den Positionen entsprechen, an denen SUBJ.RECALL 1. Say istInhalt des Zellenfeldes anzeigen, das einem anderen Zellenfeld mit Matlab entspricht
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.
Was ich will, ist die Wörter angezeigt, die zurückgerufen worden sind, um die Worte Bedeutung, die 1 entsprechen in SUBJ.RECALL. Ich habe dies getan:
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
Error: Attempt to reference field of non-structure array.
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
Error: Attempt to reference field of non-structure
Vielen Dank im Voraus für jeden Kommentar!
Sind Sie sicher, dass die Fehler innerhalb der Schleife und nicht in dieser Anrufe Länge (SUBJ.RECALL) sind? Sollte es nicht Länge sein (SUBJ {1} .RECALL) – Alessandro