我有这个功能:
function example(y)
global TICTOC;
tic
TICTOC=5;
toc
end
我希望 TICTOC = 5 更改 toc 的结果,因为 TICTOC 是tic和toc函数中的全局变量;但这种情况并非如此;有谁知道原因?
我想知道答案,因为我担心声明一个全局变量,它的名字已在其他一些函数中声明为全局变量,我不知道。
我在matlab 2008b帮助中看到了这个功能
function tic
% TIC Start a stopwatch timer.
% TIC; any stuff; TOC
% prints the time required.
% See also: TOC, CLOCK.
global TICTOC
TICTOC = clock;
function t = toc
% TOC Read the stopwatch timer.
% TOC prints the elapsed time since TIC was used.
% t = TOC; saves elapsed time in t, does not print.
% See also: TIC, ETIME.
global TICTOC
if nargout < 1
elapsed_time = etime(clock, TICTOC)
else
t = etime(clock, TICTOC);
end
感谢。
答案 0 :(得分:0)
我认为您可以使用assignin命令将TICTOC值发送到base,从而更改全局值。 我使用assignin命令将参数从函数发送到Base。
此致 迪利普
答案 1 :(得分:0)
我不知道为什么,但我的问题的答案是否定的。我检查了它,似乎它没有被覆盖。原因必须是因为tic,toc是内置的Matlab函数