MATLAB结构访问

时间:2018-06-23 02:05:13

标签: matlab

创建了一个MATLAB结构:

filenameSubstring='C:\Data\**/*.json';
filenames = dir(filenameSubstring);

评估均值的尝试失败:

sizemean = mean(filenames.size);

尝试创建数组失败,因为它仅返回一个值:

test=(filenames(:).bytes)

我可以使用for循环对每个元素进行访问:

for i= 1:size(filenames,1)
    test(i)=filenames(i).bytes;
end

是否有一个简洁的单行代码,可以将所有.bytes元素移到数组中以进行进一步评估?

1 个答案:

答案 0 :(得分:5)

是:

[filenames.bytes]

filename.bytes生成一个逗号分隔的值列表,等效于filename(1).byes, filename(2).bytes, filename(3).bytes, ...。方括号将它们连接成一个数组。因此,以上与

相同
[filename(1).byes, filename(2).bytes, filename(3).bytes, ... ]