MATLAB:如何在时间计算器程序中包含均值和最小值
MATLAB: How to include mean and minimum in time calculator program
我怎样才能得到我的刺激时间的平均值而不是列出所有的 100 个刺激时间进行手动计算?
function [time] = Babtime(n)
N = 100;
t = zeros(N,1);
for k = 1:N
tic;
Bab(n);
Stimulationtime=toc
此外,如果我不手动检查下面代码的 1000 个输出时间中的最小值,我如何才能获得最短刺激时间
function [time] = Haldtime(n)
N = 1000;
t = zeros(N,1);
for k = 1:N
tic;
Hald(n);
Stimulationtime=toc
谢谢
将目录值存储在一个数组中,然后使用最小值。对于您的代码,您似乎已经创建了存储时间值的数组(数组 t):
function [time] = Haldtime(n)
N = 1000;
t = zeros(N,1);
for k = 1:N
tic;
Hald(n);
t(k)=toc;
end
disp(min(t));
time=min(t);
当然,如果您想要平均值(这更有用),请将 min 替换为 mean
为了使它更方便,让您使用具有任意数量的输入参数和可变数量的 运行 循环的任何函数,您可以将您的计时器函数修改为以下内容:
function [times, t_min, t_mean] = myTimer(funcH, sampling, varargin)
times = zeros(sampling, 1);
for ii = 1:sampling
tic;
funcH(varargin{:});
times(ii) = toc;
end
t_min = min(times);
t_mean = mean(times);
那么你可以简单地使用这个函数来计算运行不同函数的时间。对于您的示例,它将是:
[~, tmin, tavg] = myTimer(@Bab, 100, n);
或
[T, tmin, tavg] = myTimer(@Hald, 1000, n);
请注意,在第二个示例中,所有 运行 次都保存在 T
中,因此稍后您可以计算除最小值和平均值之外的不同统计数据。
看看 profile
可能也很有用。
我怎样才能得到我的刺激时间的平均值而不是列出所有的 100 个刺激时间进行手动计算?
function [time] = Babtime(n)
N = 100;
t = zeros(N,1);
for k = 1:N
tic;
Bab(n);
Stimulationtime=toc
此外,如果我不手动检查下面代码的 1000 个输出时间中的最小值,我如何才能获得最短刺激时间
function [time] = Haldtime(n)
N = 1000;
t = zeros(N,1);
for k = 1:N
tic;
Hald(n);
Stimulationtime=toc
谢谢
将目录值存储在一个数组中,然后使用最小值。对于您的代码,您似乎已经创建了存储时间值的数组(数组 t):
function [time] = Haldtime(n)
N = 1000;
t = zeros(N,1);
for k = 1:N
tic;
Hald(n);
t(k)=toc;
end
disp(min(t));
time=min(t);
当然,如果您想要平均值(这更有用),请将 min 替换为 mean
为了使它更方便,让您使用具有任意数量的输入参数和可变数量的 运行 循环的任何函数,您可以将您的计时器函数修改为以下内容:
function [times, t_min, t_mean] = myTimer(funcH, sampling, varargin)
times = zeros(sampling, 1);
for ii = 1:sampling
tic;
funcH(varargin{:});
times(ii) = toc;
end
t_min = min(times);
t_mean = mean(times);
那么你可以简单地使用这个函数来计算运行不同函数的时间。对于您的示例,它将是:
[~, tmin, tavg] = myTimer(@Bab, 100, n);
或
[T, tmin, tavg] = myTimer(@Hald, 1000, n);
请注意,在第二个示例中,所有 运行 次都保存在 T
中,因此稍后您可以计算除最小值和平均值之外的不同统计数据。
看看 profile
可能也很有用。