How can I add a time stamp to a variable name?
6 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Stephen23
2022 年 5 月 4 日
"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:\" ?
回答 (1 件)
Walter Roberson
2022 年 5 月 4 日
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 件のコメント
Walter Roberson
2022 年 5 月 4 日
Using the -append flag is not required for save -struct to work.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!