所以我有一个脚本应该运行一系列其他脚本,从中收集数据并使用这些数据。
我的文件结构如下:
Results
-result001.m
-result002.m
...
-result100.m
-DataFromICP.m
现在dataFromICP应该简单地遍历所有结果并将它们连接到一个名为pointsAndTimeS的结构:
resultsFiles = dir('result*');
pointsAndTimeS = struct('points', zeros(length(resultsFiles)), 'times', zeros(length(resultsFiles)));
resultsFiles
count = 1;
for i = 1:length(resultsFiles)
resultsFiles(i).name
eval(resultsFiles(i).name)
pointsAndTimesS.points(i) = numberOfPointsRead;
pointsAndTimesS.times(i) = PoseEstimates(length(PoseEstimates)).timeElapsed;
end
现在它正确地遍历文件,即:
resultsFiles =
3x1 struct array with fields:
name
date
bytes
isdir
datenum
其中名称为result001.m至result100.m
但我从eval那里得到错误说:
Undefined variable "result10" or class "result10.m".
Error in DataFromICP (line 7)
eval(resultsFiles(i).name)
有谁知道发生了什么事?
答案 0 :(得分:1)
eval
期望一个字符串作为输入,因此它试图将您提供的输入(不是字符串)作为变量或脚本名称进行评估。为了给它resultFiles(i).name中的值,这应该有效:
eval(sprintf('%s', resultsFiles(i).name));