我需要在Matlab中导入一些文本文件作为矩阵。有人可以帮我代码吗?这是我的文本文件名。
elist_S06n1.txt
elist_S06n2.txt
elist_S06n3.txt
elist_S06n4.txt
elist_S07n1.txt
elist_S07n2.txt
elist_S07n3.txt
elist_S07n4.txt
.
.
.
elist_S27n5.txt
所以,直到elist_S09n1.tx
n
从1到4,然后是1到5。
提前谢谢。
答案 0 :(得分:0)
感谢您的更新,以便我们查看到目前为止您已尝试过的内容。
在我看来,您在生成正确的文件名时遇到了困难。您可以使用两个循环,而不是循环遍历单元格数组索引,一个从6到27,另一个从1到4或5.基于这些值,您可以轻松生成所需的文件名(请注意前导零!)。在循环中,您可以跟踪生成的单元格数组的索引。
顺便说一句,如果我计算文件数量,我总共得到18 * 5 + 4 * 4 = 106而不是95.
代码:
numfiles = (27-9)*5 + (9-5)*4;
mydata = cell(1, numfiles);
idx = 0; % index for mydata
n = 4;
for k1 = 6:27
if k1 == 10
n = 5; % switch to 5 files if k1 reaches 10
end
for k2 = 1:n
idx = idx+1;
myfilename = sprintf('elist_S%02dn%d.txt', k1, k2);
mydata{idx} = importdata(myfilename);
end
end