- 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.
    4 ビュー (過去 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 で Introduction to Installation and Licensing についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


