- https://de.mathworks.com/matlabcentral/fileexchange/10959-sort-nat--natural-order-sort
- https://www.mathworks.com/matlabcentral/fileexchange/34464-customizable-natural-order-sort
I want to save a mat. file each time the program runs with a different name.
1 次查看(过去 30 天)
显示 更早的评论
for example, when I run program for the first time i want to save it as ' text1.mat' second time 'text2.mat' etc...
0 个评论
采纳的回答
Jan
2017-11-28
编辑:Jan
2017-11-28
Folder = tempdir; % Define accordingly
FileList = dir(fullfile(Folder, 'text*.mat'));
NewFile = fullfile(Folder, sprintf('text%d.mat', numel(FileList) + 1));
This fails, if you delete some of the files afterwards. Then this helps:
NameList = natsort({FileList.name});
LastIndex = sscanf(NameList{end}, 'text%d.mat'));
NewFile = fullfile(Folder, sprintf('text%d.mat', LastIndex + 1));
Or prefer:
nowStr = datestr(now, 'yyyy-mm-dd_HHMMSS');
NewFile = fullfile(Folder, ['text', nowStr, '.mat']);
But remember that this fails, if you create more than 1 file per second or during the change of the daylight-saving-time.
2 个评论
Walter Roberson
2017-11-28
NameList = natsort({FileList.name});
LastIndex = sscanf(NameList{end}, 'test_%damp.mat'));
NewFile = fullfile(Folder, sprintf('test_%damp.mat', LastIndex + 1));
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!