Matlab的。编写文本文件或创建它(如果它不存在)。保存目录中的数字或创建它(如果它不存在)

时间:2017-09-25 09:11:59

标签: matlab fopen save-as

我有两个类似的问题,但出于不同的目的。

1)我如何告诉matlab写一个文本文件,如果不存在,创建它?要改进的基本代码如下:

fileID = fopen('results.txt','w');
fprintf(fileID, 'Name\t\t\t\t\t\t\t\t\t%%variation\t\tSteady-state\n');
fclose(fileID);

1)同样的事情,但是当我保存数字时,我想将它们保存在工作的子目录中,但是如果它不存在则应该创建它。要改进的基本代码如下:

fig=figure; set(fig, 'Visible', 'off');
plot(...); xlabel(...); ylabel(...); legend(...);
saveas(fig,s3)

其中s3是

s3 = char(strcat(s1(1),'.png')); %concatenate .png and convert to string

如何告诉它保存到其他目录?

非常感谢

1 个答案:

答案 0 :(得分:0)

如果文件不存在,您的第一个代码可以正常运行,如果文件存在,则会运行内容。我想第一个问题是如果文件已经存在,你想要保留内容,所以:

if exist('results.txt')==2
  fileID = fopen('results.txt','a'); % open exist file and append contents
else
  fileID = fopen('results.txt','w'); % create file and write to it
end

关于第二个问题:

if exist('SubDir')~=7  % if there is not a sub-directory named "SubDir", make it
  mkdir('SubDir');
end
saveas(fig,fullfile('SubDir',s3))