- Instead of concatenating file-paths together, you should use fullfile.
- sprintf can be used to generate the filename using some sequential integers.
- mkdir can be used to create a new directory.
- You can get the current date+time using clock, and convert this using datestr.
create variable name and save
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
MiauMiau
el 13 de Mayo de 2015
Hi
I work with several subjects, and I want to find a way to 1. May a new folder for each one of them (with their name and timestamp) 2. Store the matfile in the folder again under their name
Obviously I want to change names of the folder and the matfile not to often.
So far I have in mind something as the following code:
str = date;
Name_Folder = strcat('Personx_', str); %Folder name
mkdir(Name_Folder)
Name_File = 'Personx_TrialOne'; % Name of matfile
Personx_TrialOne = 5; % ??
save(strcat('./',Name_Folder,'/',Name_File), Name_File);
But I don't see how I can save a value in "Personx_TrialOne" without having to type "Personx_TrialOne" explicitly (but by using Name_File for instance, such that for each person only this line would be changed. Hence something as in Name_File = 5 basically)
0 comentarios
Respuesta aceptada
Stephen23
el 13 de Mayo de 2015
Editada: Stephen23
el 13 de Mayo de 2015
>> nameFolder = sprintf('Personx_%s',datestr(clock,'yyyymmdd'))
nameFolder =
Personx_20150513
>> trialNumber = 5;
>> nameFile = sprintf('PersonTrial_%i.mat',trialNumber)
nameFile =
PersonTrial_5.mat
>> namePath = fullfile(nameFolder,nameFile)
namePath =
Personx_20150513\PersonTrial_5.mat
>> save(namePath,...names of variables here!)
If you really want to automatically generate the words 'one', 'two', 'three', etc, for each trial, then you can use my FEX submission num2words:
Más respuestas (0)
Ver también
Categorías
Más información sobre Whos 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!