如何在Matlab中使用fullfile?

时间:2016-03-09 13:14:32

标签: matlab

我正在研究Suever的answer,我不理解它在代码1中使用fullfile的应用。

代码1

filename=strcat('/Users/masi/Images/', 'p.1');
save(fullfile(filename,'.mat'),'time');
saveas(her, fullfile(filename,'.png'));

输出

Error using save
Cannot create '.mat' because '/Users/masi/Images/p.1' does not
exist.

代码2

filename=strcat('/Users/masi/Images/', 'p.1');
save(strcat(filename,'.mat'),'time');
saveas(her, strcat(filename,'.png'));

成功!

根据Daniel的answer

进行更改
filenameMat=fullfile('/Users/masi/Images/', 'p.1', '.mat');
save(filenameMat,'time'); 

但仍然

Error using save
Cannot create '.mat' because '/Users/masi/Images/p.1.mat' does not
exist.

我不明白。

为什么代码1会出错?

1 个答案:

答案 0 :(得分:3)

您正在使用fullfile来查找错误的应用程序。文档清楚地解释了参数:

  

文件夹和文件名,指定为字符串和字符串的单元格数组。

您输入的文件名没有扩展名和文件扩展名,帽子不是完整文件的目的地。它将在两者之间插入文件分隔符:

>> fullfile('foo','.bar')

ans =

foo\.bar

fullfile是构建filename的正确功能。