如何将Matlab上的多个答案组合到一个列表中?

时间:2017-03-10 12:32:50

标签: matlab

我确定这很明显,但我无法在互联网上找到解决方案......

当我这样做时,在Matlab中

> list = dir('some_directory');
> list

list = 
  3×1 struct array with fields:
  name
  folder
  date
  bytes
  isdir
  datenum

我想将所有文件名存储在列表中。如果我打电话给 list.name ,我只会得到多个答案

> list.name
ans =
some_file_1.mat

ans =
some_file_2.mat

ans =
some_file_3.mat

我尝试了这个,但它没有工作

> dirlist = list.name
ans =
some_file_1.mat

然后我尝试了这个并且它没有工作

> dirlist = [list.name]
ans =
some_file_1.matsome_file_2.matsome_file_3.mat

1 个答案:

答案 0 :(得分:4)

您可以将列表存储在单元格中:

dirlist = {list.name};

然后您可以像这样调用每个条目:

dirlist{1};
...
dirlist{20};
etc..

编辑: 或者,您也可以访问初始结构的各个元素:

list(1).name;
...
list(20).name;
etc...

您甚至可以将变量name保存在仅包含此变量的新结构中:

dirlist = struct('name',{list.name});