Automated variable name assignment
1 次查看(过去 30 天)
显示 更早的评论
I have large cells that contain experimental data. (Up to 100000 entries with 2x2000 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.
2 个评论
KSSV
2016-11-2
Instead of that naming convention...you can follow:
C = cell(1,3) ;
C{1} % will be subcell_1
c{2} % will be subcell 2
c{3} % will be subcell 3
采纳的回答
Walter Roberson
2016-11-2
3 个评论
Walter Roberson
2016-11-2
Use dynamic field names of a struct . save() the struct using the -struct flag to save(). Each field in the struct will become a variable in the .mat file.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Behavior and Psychophysics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!