Automated variable name assignment
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Mario
el 2 de Nov. de 2016
Comentada: Mario
el 2 de Nov. de 2016
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 comentarios
KSSV
el 2 de Nov. de 2016
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
Respuesta aceptada
Walter Roberson
el 2 de Nov. de 2016
3 comentarios
Walter Roberson
el 2 de Nov. de 2016
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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Types en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!