将struct数组转换为字符串数组,包括struct的一个属性

时间:2012-08-17 16:18:53

标签: matlab matlab-guide

我有一个struct array Imgs,它包含每个struct中的图像文件的以下属性。

name
date
byte
isdir
datenum

现在我想创建一个新的字符串数组img_names,其中包含上述struct数组的唯一名称。我真的是一个关于matlab的新手,我不知道怎么做。

所以我希望在这个结构中有一个数组。

img_names[1] = 'file-1.jpg'

img_names[2] = 'file-2.jpg'

img_names[3] = 'file-3.jpg'

...

2 个答案:

答案 0 :(得分:1)

>> img_names=sprintf('%s\n',Imgs.name);

答案 1 :(得分:1)

img_names = arrayfun(@(x) x.name,Imgs,'uni',false)

生成包含名称的单元格数组。然后,您可以使用以下方式访问每个名称:

img_names{1}
img_names{2}
% ...