在matlab中包含变量在文件目录中..?

时间:2012-03-13 21:07:18

标签: matlab

我想访问多个已排序的文件夹

示例:

[ndata, text, alldata] = xlsread(' D: \ folder \ 1 \ file ' ) ;
[ndata, text, alldata] = xlsread(' D: \ folder \ 2 \ file ' ) ;
[ndata, text, alldata] = xlsread(' D: \ folder \ 3 \ file ' ) ;
[ndata, text, alldata] = xlsread(' D: \ folder \ 4 \ file ' ) ;

我可以用变量i替换1,2,3和4.如何在这里写出目录?!

请提出任何建议!

4 个答案:

答案 0 :(得分:2)

fullfile命令用于此目的:

xlsread(fullfile('D:','folder', sprintf('%d',i) , 'file'));

fullfile函数负责特定于操作系统的文件分隔符,并确保每个文件夹分区只使用一个文件分隔符。 (即strcmp(fullfile('a','b')等于fullfile('a/','/b')

答案 1 :(得分:2)

[ndata, text, alldata] = xlsread([' D:/folder/' num2str(i) '/file ' ]) ;

答案 2 :(得分:1)

只需使用适用于所有地方的正斜杠。

不要让事情变得比现在更难。

答案 3 :(得分:0)

是的,你可以。使用sprintf()命令。

i=1;
[ndata, text, alldata] = xlsread(sprintf('D:\\folder\\%i\\file',i))

要确保这项工作正常,请将sprintf更改为fprintf,并确保该文件存在。

>> i=1;
>> fprintf('D:\\folder\\%i\\file',i)
D:\folder\1\file
>> ls D:\folder\1\file