File Matlab eval在使用简单的Matlab脚本时遇到问题
所以我有一个脚本,它应该运行一系列其他脚本,从中收集数据并使用这些数据 我的文件结构如下所示:File Matlab eval在使用简单的Matlab脚本时遇到问题,file,matlab,eval,File,Matlab,Eval,所以我有一个脚本,它应该运行一系列其他脚本,从中收集数据并使用这些数据 我的文件结构如下所示: Results -result001.m -result002.m ... -result100.m -DataFromICP.m 此时,dataFromICP应该简单地循环所有结果,并将它们连接到名为pointsAndTimeS的结构: resultsFiles = dir('result*'); pointsAndTimeS = struct('point
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)
有人知道发生了什么吗?
eval
需要一个字符串作为输入,因此它试图将您提供的输入(不是字符串)作为变量或脚本名称进行评估。要在resultsFiles(i).name中为其指定值,应执行以下操作:
eval(sprintf('%s', resultsFiles(i).name));
如果将
eval
更改为run
,会发生什么情况?它有用吗?