【发布时间】:2013-02-07 08:49:55
【问题描述】:
这里有没有人知道我应该在 MATLAB 中使用什么命令来确定使用 FMINSEARCH 运行 Nelder-Mead 算法直到它停止所花费的总计算机时间。周全
【问题讨论】:
标签: matlab fminsearch
这里有没有人知道我应该在 MATLAB 中使用什么命令来确定使用 FMINSEARCH 运行 Nelder-Mead 算法直到它停止所花费的总计算机时间。周全
【问题讨论】:
标签: matlab fminsearch
如果你想对一段特定的代码进行计时,你可以使用
tic
% yourcode
toc
如果您无法编辑代码或想检查函数的总运行时间,请尝试
help profile
【讨论】:
代码:
t=cputime;
your_operation;
cputime-t
返回您的进程花费的计算 (CPU) 时间。 Tic/toc 命令返回经过的运行时间;这可能取决于同时使用 CPU 的其他程序。
【讨论】:
从this answer 开始,函数timeit 优于使用tic 和toc,因为timeit 中的内部操作考虑了MATLAB 的细微差别。
timeit多次调用指定函数,并计算 测量值的中位数。
考虑取自 fminsearch 的文档中的示例。
% MATLAB R2018b
fun = @(x)100*(x(2) - x(1)^2)^2 + (1 - x(1))^2;
x0 = [-1.2,1];
[x,fval] = fminsearch(fun,x0);
RunTime = timeit(@() fminsearch(fh,x0)); % median runtime in seconds
【讨论】: