我试图通过将文件名输入函数来在多个文件上运行循环。我使用以下命令将这些文件名保存为结构:
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};
但我搜索到的所有地方都告诉我使用{}来访问结构中的字段。我也尝试了其他类型的括号。
其他信息:
'文件'是结构的名称
'名称'是'文件中的第一个列字段'包含引号中的文件名。
答案 0 :(得分:2)
您正在引用文件结构错误,您需要:
files(i).name
{}用于访问单元格数组。
您还应该使用ii
(或类似)代替i
作为索引变量,因为i
已经是Matlab变量(虚数单位)。