使用并行计算实施折刀
这个示例来自折刀
功能参考页,但并行运行。
从平均0和标准偏差5的正态分布中生成尺寸10000的样本数据。
Sigma = 5;rng('默认')y = normrnd(0,Sigma,10000,1);
跑折刀
并行估计差异。为此,请使用Statset
创建选项结构并设置useParallel
字段为真。
opts = statset(“ useparalallel',真的);m =折刀(@var,y,1,'选项',选择);
比较已知的偏置公式与折刀偏置估计。
n =长度(y);偏见= -sigma^2/n%已知偏见公式jbias =(n-1)*(平均(M)-VAR(y,1))%折刀偏见估计
使用“本地”配置文件开始并行池(PARPOOL)...连接到并行池(工人数量:6)。bias = -0.0025 jbias = -0.0025
比较以串行和并行计算所需的时间。
tic; m = jacknife(@var,y,1); toc%序列计算
经过的时间为1.638026秒。
tic; m =折刀(@var,y,1,'选项',选择); toc%并联计算
经过的时间为0.507961秒。
折刀
不使用随机数,因此每次都会给出相同的结果,无论是并行还是串行运行。