【发布时间】:2016-03-09 14:22:56
【问题描述】:
我想使用内置命令“bootstrp”通过 matlab 进行引导。我注意到的是,当我只要求 N 次迭代时,该过程会进行 N+1 次迭代。这是为什么?当我构建一个手动循环来进行引导时,它实际上只运行了 N 次,那么它会更快。这是该问题的一个最小示例:
clear all
global iterationcounter
tic
iterationcounter=0;
data=unifrnd(0,1,1,1000); %draw vector of 1000 random numbers
bootstat = bootstrp(100,@testmean,data); %evaluate function for 100 bootstrap samples
toc
使用函数
function [ m ] = testmean( data )
global iterationcounter
m=mean(data);
iterationcounter=iterationcounter+1
end
该函数应该评估 100 个样本,但是当我运行脚本时,它将评估该函数 101 次:
...
迭代计数器 =
101
经过的时间是 0.102291 秒。
那么为什么要使用这个看起来很浪费时间的内置 Matlab 函数呢?
【问题讨论】:
标签: matlab statistics-bootstrap