在MatLab中保存带有当前文件名的数字

时间:2014-06-04 19:41:52

标签: matlab matlab-figure

道歉,我对MatLab来说还不够新鲜。

我有一个脚本,一次从我当前的工作目录中提取一个文件并绘制指定的信息。我想将每个图块保存为jpeg(tiff也没关系),并附有它正在绘制的文件的名称。我有大约3000个文件,所以我正在寻找一种自动化的方法来做到这一点。

我认为如果放在for循环的末尾可能会有效:

saveas(gcf,'',jpg)

我不确定该文件名的引用内容。

非常感谢, 蒂芙尼

2 个答案:

答案 0 :(得分:1)

如果loadedFileName是您刚刚加载的文件的名称(也许是)路径,那么您可以执行以下操作来保存具有相同文件名的jpeg

% get the path, name and extension of the file just loaded
[path, name, ext] = fileparts(loadedFileName);

% grab what you want to create the filename of the jpeg to save
jpegToSaveFileName = [name '.jpg'];   % use path if you want to save to same directory

% save the figure as a jpeg
saveas(gcf,jpegToSaveFileName,'jpg');

尝试以上操作,看看会发生什么。如果您需要添加文件名的路径,请执行类似

的操作
jpegToSaveFileName = fullfile(path, jpegToSaveFileName);

尝试以上操作,看看它是否符合您的要求!

答案 1 :(得分:0)

由于您的脚本已经拥有文件名信息(否则无法打开文件并读取数据),您只需使用' .jpg'扩展文件名。并将此字符串传递给saveas函数。文件名'hello'的演示:

>> filename = 'hello'
filename =
hello
>> picname = [filename, '.jpg']
picname =
hello.jpg
>> a = figure
a =
 4
>> saveas(a, picname)
>> ls
hello.jpg