0

したがって、一連の他のスクリプトを実行し、それらからデータを収集し、そのデータを使用するスクリプトがあります。

私のファイル構造は次のようになります。

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)

誰が何が起こっているのか知っていますか?

4

1 に答える 1

1

eval文字列を入力として想定しているため、指定した入力(文字列ではない)を変数またはスクリプトの名前として評価しようとしています。resultsFiles(i).nameの値を指定するには、次のように機能する必要があります。

eval(sprintf('%s', resultsFiles(i).name));
于 2012-08-16T01:32:14.387 に答える