How can I add a time stamp to a variable name?
8 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi community,
I wanted to know how if I can add time stamps to a variable name. I want to create an standalone application and at the end a variable is saved in a .mat file. The file is named by the user, but I do not want to let the user pick the variable name. I would rather want to add a time stamp to the variable name. Is there a way to do that?
Everytime I try something the variable gets overwritten with the time stamp and not added to the variable name.
Is this even possible or do I have to think of a diiferent approach?
Thanks in advance!
formatDescr = 'ddmmmyyyy_HHMMSS';
datestring = datestr(now, formatDescr);
elseif strcmp(app.regDirection, 'CBCT2CT') == true
warpedCBCT = strcat('warpedCBCT', datestring);
atlasFile = uiputfile;
save(atlasFile, 'warpedCBCT');
end
3 Commenti
Stephen23
il 4 Mag 2022
"So naming the variable through an input from the user (just like naming the file) would be the best option?"
That would be about the worst option.
What happens when your user selects the variable name "123 + 567" or "! format C:\" ?
Risposte (1)
Walter Roberson
il 4 Mag 2022
warpedCBCT = strcat('warpedCBCT', datestring);
savestruct = struct(warpedCBCT, DataToSave);
[atlasFile, filepath] = uiputfile();
if ~ischar(atlasFile)
return; %user cancel
end
filename = fullfile(filepath, atlasfile);
save(filename, '-struct', 'savestruct', '-append')
Each time you save to the same file, a new variable will be added to it.
The keyword -struct tells save not to save "savestruct" as a structure, but to instead save each field in the structure as an individual variable.
4 Commenti
Walter Roberson
il 4 Mag 2022
Using the -append flag is not required for save -struct to work.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!