如何在MATLAB中读取这一行?

时间:2013-08-07 16:42:30

标签: matlab directory

我在MATLAB中遇到了以下几行:

m = dir(fullfile(dataset,'*.png'));
m = {m(~[m.isdir]).name};

据我所知,第一行是尝试从目录中获取.png个文件。但是,试图执行的第二行是什么? isdir似乎确定输入是目录。这就是我对那部分的新意。但是,尝试执行的线路是什么?

感谢。

1 个答案:

答案 0 :(得分:3)

第二行是获取所有不是目录的文件,然后获取相应的名称并将它们存储到单元格数组中

  • m.isdir表示它是否是文件夹
    • 如果是,则返回1,否则返回0.
  • ~[m.isdir]将指示从isdir返回的值是0。
  • m(~[m.isdir])抓取由上面所做的逻辑索引确定的m中的所有对象
  • m(~[m.isdir]).name获取所有人的姓名
  • {m(~[m.isdir]).name}将它们全部存储在单元格数组

希望这一步一步的演练有所帮助。

虽然我不确定为什么第二行是必要的,因为fullfile(dataset,'*.png')应该只返回以.png结尾的路径,这不是文件夹,我想最好检查一下。< / p>