MATLAB: Automated variable name assignment

dynamic variable naming

I have large cells that contain experimental data. (Up to 100000 entries with 2×2000 matricies each) On these large cells I run different cluster scripts that split these large cells into sub-cells (normally between 2 and 10 sub-cells) I then save these sub-cells and run different analysis routines on them. Is there a way to automatically name and save these subcells?
For example: I have a main_cell, split it up into 3 subcells, call them "subcell_1, subcell_2 and subcell_3" and then save them as subcell_1.mat etc. So far I have to do this manually or with this rather ugly "try and catch" approach (It is also limited because I cannot adapt the subcell's name automatically):
try
subcell_1 = main_cell(:,idx==1);
save('subcell_1.mat','subcell_1');
subcell_2 = main_cell(:,idx==2);
save('subcell_2.mat','subcell_2');
catch
end
I know apparently it is recommended not to use dynamic variable naming, but for my specific situation I cannot think of another way without completly restructuring my analysis concept and/or dragging huge data files through my analysis.