MATLAB: Storing data with 2 forloops

homework

When I try to extract RASI from my data:
for welke_pp=1:5
...
for i_testen=1:5
...
RASI(welke_pp,i_testen) = data_sts(welke_pp,i_testen).VideoSignals(:, strcmp('RASI', data_sts(welke_pp,i_testen).VideoSignals_headers)); %try to extract data, RASI
...
end
end
The following error occurs 'Subscripted assignment dimension mismatch.' and I don't understand why… Help?

Best Answer

Sam - what are the dimensions of your RASI and data_sts matrices or cell arrays? What are you attempting to do with
VideoSignals(:, strcmp('RASI', data_sts(welke_pp,i_testen).VideoSignals_headers))
In the above, if the string at data_sts(welke_pp,i_testen).VideoSignals_headers is not RASI, then the strcmp returns a zero in which case you will be trying to access
VideoSignals(:,0);
which will generate an error (though not the one that you are observing).
Your error, Subscripted assignment dimension mismatch, typically means that you are attempting to assign too much (or too little) data. In your case, if RASI is a matrix, then
RASI(welke_pp,i_testen)
is a single element within that matrix, and
data_sts(welke_pp,i_testen).VideoSignals(:,1)
may be a column vector of data...and so you are attempting to assign a column vector to a single element within RASI.
Put a breakpoint at this assignment and run your code. When the debugger pauses at this line, look at what is being assigned and where you are assigning it to, and ask yourself if the assignment makes sense.