在MATLAB中使用循环读取文件

时间:2014-02-20 09:51:42

标签: matlab

我正在读取目录中的所有文件。但后来我想循环它并使用循环的迭代器数加载文件,就像这样

A = dir('*.txt');
for i=1:size(A)
   text = function('Text'+i+'.txt');
end

所以我的问题是,我找不到正确的语法来获取i位置的文本文件。 谢谢!

1 个答案:

答案 0 :(得分:4)

您不能简单add字符串,如'Text'和数字i。 您必须先将i转换为字符串,然后连接三个字符串:

text = function(['Text', num2str(i), '.txt']);

或者,我首选的解决方案是使用sprintf

text = function(sprintf('Text%i.txt', i));

sprintf将使用%i的整数表示替换字符串中的i部分。

修改

重新阅读您的问题,您可能最好使用dir中的信息而不是构建您自己的文件名:

text = function(A(i).name);

结构A将包含每个文件的信息 - 包括其名称。 这将使您的代码更稳定。