我正在读取目录中的所有文件。但后来我想循环它并使用循环的迭代器数加载文件,就像这样
A = dir('*.txt');
for i=1:size(A)
text = function('Text'+i+'.txt');
end
所以我的问题是,我找不到正确的语法来获取i位置的文本文件。 谢谢!
答案 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
将包含每个文件的信息 - 包括其名称。
这将使您的代码更稳定。