How can I reset the tic/toc timer?

13 次查看(过去 30 天)
How can I clear everything from the MATLAB workspace? clear all/classes/java does a pretty good job but it doesn't reset the tic/toc commands.
What I want is:
tic
commandThatClearsEveryting
toc %Throws error
More generically: How can I run a test script such that the code is effectively run in a newly opened MATLAB workspace?

采纳的回答

Jan
Jan 2017-4-5
编辑:Jan 2017-4-5
Do not run it as if, but simply run is in a newly opened Matlab session:
system('matlab -r YourFunction');

更多回答(1 个)

Steven Lord
Steven Lord 2017-4-5
I'm not sure what you mean by resetting the tic and toc timer, but if you want to time code that may itself contain call to tic or toc, call tic with an output and pass that output into toc.
sumLoop = 0;
timeOverall = tic;
for k = 10:10:500
M = magic(k);
timeLoop = tic;
V = eig(M);
TL = toc(timeLoop);
sumLoop = sumLoop + TL;
fprintf('Calling EIG for a %d by %d matrix took %f seconds.\n', k, k, TL);
end
fprintf('The entire loop took %f seconds.\n', toc(timeOverall));
fprintf('Cumulative sum of loop timing is %f seconds.\n', sumLoop);
The timing data in the messages displayed by the last two lines should be very close to one another. They won't be identical, since the timing of the inner fprintf call is not included in sumLoop, but they should be reasonably close.

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by