如何使用文本文件的输入命名Matlab输出文件

时间:2013-07-31 16:33:05

标签: file matlab text

我试图以这种格式从文本文件中获取输入:

Processed_kplr010074716-2009131105131_llc.fits.txt
Processed_kplr010074716-2009166043257_llc.fits.txt
Processed_kplr010074716-2009259160929_llc.fits.txt
etc.... (there are several hundred lines)

并使用该输入为我的输出文件命名为Matlab循环。每次循环结束时,我希望它处理结果并将它们保存到文件中,例如:

Matlab_Processed_kplr010074716-2009131105131_llc.fits.txt

这将使识别已经处理的对象更容易,因为我可以只查找ID号而不是对随机保存的文件名列表进行排序。我还需要它以类似的方式保存在每个循环中生成的图。 这就是我到目前为止所做的:

fileNames = fopen('file_list_1.txt', 'rt');
inText = textscan(fileNames, '%s');
outText = [inText]';
fclose(fileNames)

for j:numel(Data)
%Do Stuff
save(strcat('Matlab_',outText(j),'.txt'))
print(Plot, '-djpeg', strcat(outText(j),'.txt'))
end

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

如果您想使用save命令保存到文本文件,则需要使用-ascii标签,有关详细信息,请参阅documentation。您可能还想使用dlmwrite代替fprintf,但我不相信您可以使用fprintf一次编写整个矩阵,您必须循环遍历行)