【问题标题】:saving outputs from a loop in Matlab in different folders将 Matlab 中循环的输出保存在不同的文件夹中
【发布时间】:2013-11-22 12:16:11
【问题描述】:

我使用下面的代码将输出图像保存在与 m 文件相同的目录中。我正在尝试自动将输出图像保存在不同文件夹中,文件夹名称与“文件”名称相同。

 clear all;
 files = dir('*.dat');
 for k = 1:length(files);
     filename   = files(k).name;
     data1      = fopen(filename,'r');
     data2      = textscan(data1, '%f%f','headerlines',1,'CollectOutput',1);
     data       = data2{:,1};

     x = data(:,1);             
     y = data(:,2); 
     plot(x, y);  
     [pathstr, name, ext] = fileparts(filename);  

     temp = ['fig', num2str(k), '.eps'];
     print(gcf, '-depsc', temp);
     fclose(data1);
 end

任何帮助将不胜感激。

【问题讨论】:

  • 按照你的方式,datFiles 变量中列出的所有文件都是本地目录中的文件,所以我不确定你在问什么
  • 是的,datFiles(12.dat、15.dat、16.dat 等)在本地目录中。输出图像是同一本地目录中的 fig1、fig2、fig3 等。我想将 fig1 保存在子文件夹“12”中,将 fig2 保存在子文件夹“15”中,将 fig3 保存在子文件夹“16”中等等。

标签: matlab save


【解决方案1】:

您必须创建一个子文件夹(以您的文件名命名),然后在此文件夹中打印。

folderName = filename;
mkdir(folderName);
print( gcf , [folderName '/' filename] ); %or use `filesep` function to replace /

【讨论】:

  • 我只是做了一些这样的修改,它对我来说很好:folderName = name; mkdir(文件夹名); print(gcf, '-depsc', [文件夹名 '/' temp]);
猜你喜欢
  • 2017-08-06
  • 1970-01-01
  • 2019-12-27
  • 2022-11-28
  • 2019-12-01
  • 1970-01-01
  • 2015-10-13
  • 2010-12-13
  • 1970-01-01
相关资源
最近更新 更多