MATLAB: Saving arrays in a For loop (3D array)

for loop

I am running a For loop where each loop outputs an m x n array. I would like to save these arrays into a 3D array, m x n x k, where k is the number of iterations on my loop. However, to keep my data accurate, I need to delete a certain number of rows from the beginning and end of each array, but the tricky part is that with each iteration my output array loses more rows than the previous iteration, so I have differently-sized arrays each time. Is there a way to store all of these together? My end goal is to plot them together on the same plot (some arrays will have more or less data points to plot than others). Or instead of deleting rows maybe I just make them nan value, and ignore the nan values when I plot it? In any case I don't want this to take up a whole lot of time, it seems like it should be simple. Any help would be appreciated, thank you!

Best Answer

Use a cell array to store your matrices
Example
for k=1:3
M{k}=rand(randi(10),3)
end
%To get your matrices
M{1}
M{2}
M{3}