MATLAB dir命令无法正常工作

时间:2014-12-18 10:46:58

标签: matlab

我有一个包含9个.htk文件的文件夹。我需要使用“dir”,然后在循环中使用“readhtk”将它们导入MATLAB,但是DIR似乎会给出10个文件而不是9个!这是我的代码:

htkfiles = dir('/Users/Desktop/Acsegment/mfcdir/*.htk');
nhtkfiles = length(htkfiles); % 10!!! It should be 9 tough!
data = cell(nhtkfiles,2);
for k = 1:nhtkfiles
    b(k,1) = strcat({'/Users/Desktop/Acsegment/mfcdir/'},{htkfiles(k,1).name});
    eval(['data{k,1} = readhtk(b{k,1});']);
end

在查看htkfiles中的文件名时,我有这样的话:

  htkfiles(1,1).name = '.htk'
  htkfiles(2,1).name = 'fadg0_si1279.htk'
  htkfiles(3,1).name = 'fadg0_si1909.htk'
  htkfiles(4,1).name = 'fadg0_si649.htk'
  htkfiles(5,1).name = 'fadg0_sx109.htk'
  htkfiles(6,1).name = 'fadg0_sx19.htk'
  htkfiles(7,1).name = 'fadg0_sx199.htk'
  htkfiles(8,1).name = 'fadg0_sx289.htk'
  htkfiles(9,1).name = 'fadg0_sx379.htk'
  htkfiles(10,1).name = 'faks0_si943.htk'

与我在该文件夹中看到的相比,第一个文件不应该在那里!任何人都有任何想法为什么我得到一个额外的文件?

1 个答案:

答案 0 :(得分:1)

如评论中所述:dir命令实际上正常工作,恰好是一个隐藏文件。

这些以点开头的文件可以从列表中删除,如下所示:

d=dir;
d(strncmp({d.name},'.',1))=[];