我制作了两个模拟特定系统的程序;一个是我的,另一个是根据期刊(不是我的)的复制品。
我第一次跑
clc;close all;clear all;
tic
for run=1:10000
result1{run} = runCode1;
end
Time = toc;
result1{10001} = toc/10000;
save('Mine', 'result1');
然后,我跑了
clc;close all;clear all;
tic
for run=1:10000
result2{run} = runMyCode2;
end
Time = toc;
result2{10001} = toc/10000;
save('Others', 'result2');
我比较了两个参数" result1 {10001}"和" result2 {10001}"。 但是,由于tic / toc代表实时,我担心某事。
我必须在相同条件下运行两个代码,但现在我依次运行这两个代码。 此外,代码分别花费大约20小时和50小时。 因此,我必须跑70个小时!我不忍不用电脑70个小时。我必须做很多其他事情。但是,如果我运行某些东西,例如IE,铬,乳胶,信使,ppt,打印等,它们可能会影响代码。运行时间。
我将详细添加一些内容。
clc;close all;clear all;
Data = load('RawData');
for monte=1:100
nextState = Initialize(Data, ...);
for timeIdx = 1:1000
currState = EvaluateCurrentState(nextState, Data{timeIdx});
out{monte,timeIdx} = EvaluatePerformance(currState);
nextState = updateState(currState); % using the currState, subalgorithms are run.
end
end
然后,我处理这100到1000个单元格数据;找到平均值,移动平均值,绘图等等。
答案 0 :(得分:0)
以N = 5开始统计并保持每次运行的时间,而不是根据差异来确定是否需要更多运行。无论如何10000可能太多了。
clc;close all;clear all;
N=5;
result1=cell(1,N+2);
tocs1=zeros(1,N);
for run=1:N
starttime=tic;
result1{run} = runCode1;
tocs1(run)=toc(starttime);
end
result1{N+1} = mean(tocs1);
result1{N+2} = std(tocs1);
save('Mine', 'result1','tocs1');