Automated variable name assignment
조회 수: 2 (최근 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개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!