- 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
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Stephen23
le 13 Mai 2015
Modifié(e) : Stephen23
le 13 Mai 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:
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Data Type Conversion dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!