MATLAB获取数组中汇总的几个结构的字段值

时间:2015-03-04 15:29:52

标签: matlab

我有一个包含一些图片的文件夹。当我使用dir时,我得到一个数组,每个图像都有一个条目。此条目是一个包含字段namedatebytes以及更多字段的结构...

现在我想要一个包含x图像名称的数组,由索引数组index=[2 8 15 23]选择。如何在不使用循环的情况下执行此操作(以提高性能)? 如何使用dir访问我的数组中汇总的结构的字段值?

使用

images=dir('path_to_my_folder');
index=[2 8 15 23];
names=images(index).name;

不起作用,这只返回index(end)

访问的最后一张图片的名称

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您的代码images(index).name会提供comma-separated list个字符串。将列表分配给变量时,只会分配列表的第一个元素。

要分配所有元素,您需要将该列表的元素收集到单元格数组中,然后将单元格数组分配给变量:

names = {images(index).name};