(HELP) Assign char values from a structure to a double column vector
5 views (last 30 days)
Ana Maldonado Gómez on 11 May 2021
Hi, everyone! :)
I hope you all are doing well.
I wanted to ask for help, since I am struggling a bit with a for loop.
I have this for loop:
However, every time I try to run it, I get the following error:
Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 1-by-3.
The values of the variables (and/or structures, sorry I am a bit inexperienced) are:
- AllEvents = 1244x1 double
- EEG.event = 1 x 2444 struct array with fields: type, edftype, latency, urevent
- i (before running the loop) = 1x1244 double
- Mango (extra variable that I used to see the size of the EEG.event(i).type) = 1x3 char.
So far, I think the purpose of the loop is to assign the values of the EEG.event(i).type to the all events column vector, however I think it is affecting that EEG.event is a structure and the "type" field contains characters (they look like strings).
I was wondering, and I'd be truly grateful if someone could guide me with this (please).
Thank you for everything in advance.
Madhav Thakker on 20 May 2021
Edited: Madhav Thakker on 20 May 2021
The error message clearly says the problem - Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 1-by-3.
AllEvents(i,1) is of size 1-by-1 and EEG.event(i).type is of size 1-by-3.
Can you try with something like this -
AllEvents=char(length(EEG.event),3); % Changed the type and size so that each row is char array of size 1-by-3
AllEvents(i)=EEG.event(i).type; % assigning the type value to each row