如何在MATLAB中使用sprintf

时间:2018-05-02 10:07:38

标签: matlab file

这是我的代码

for k = 1 : 5
im = imread(sprintf('C:\1\%d.BMP',k));

%blablalba...

end

“C:\ 1 \”

中有5个BMP文件

文件分别命名为1.BMP,2.BMP,3.BMP,4.BMP和5.BMP

使用sprintf将1.BMP,2.BMP ... 5.BMP的文件分别导入imread

但是有一个错误。

  

错误:demo_SR(第5行)

     

im = imread(sprintf('C:\ 1 \%d.BMP',k));

当我从1到5得到k并写“%d”时,为什么会出现错误?

谢谢你

2 个答案:

答案 0 :(得分:2)

尝试:

im = imread(sprintf('C:/1/%d.BMP',k));

MATLAB可能会将\解释为转义字符的命令。

答案 1 :(得分:1)

出于@Ander Biguri的回答中提到的原因,你应该使用双反斜杠,

filename = sprintf('C:\\1\\%d.BMP',k);

或者,更强大的是让MATLAB使用fullfile插入适当的路径分隔符,

filename = fullfile('C:','1',sprintf('%d.BMP',1));