尝试访问MATLAB结构中的字段时出错

时间:2015-09-28 13:23:40

标签: matlab

我试图通过将文件名输入函数来在多个文件上运行循环。我使用以下命令将这些文件名保存为结构:

files=dir('testdata\*.siz');
nrows=size(files,1);

现在我的循环是:

for i=1:nrows
filename=files.name{i};
Singapore(filename);
writetable(ans,'file.xls')
end

然而,我收到错误:
"多个结构元素的字段引用后跟更多的引用块是一个错误。"

我发现错误在

filename=files.name{1};

但我搜索到的所有地方都告诉我使用{}来访问结构中的字段。我也尝试了其他类型的括号。

其他信息:
'文件'是结构的名称
'名称'是'文件中的第一个列字段'包含引号中的文件名。

1 个答案:

答案 0 :(得分:2)

您正在引用文件结构错误,您需要:

files(i).name

{}用于访问单元格数组。

您还应该使用ii(或类似)代替i作为索引变量,因为i已经是Matlab变量(虚数单位)。