function [C,y] = covboot(x,theta,B,p1,p2,p3,p4,p5,p6,p7,p8,p9) %COVBOOT Bootstrap estimate of the variance of a parameter estimate. % % C = covboot(X,'T') % % Computes the T(X) many times using resampled data and % uses the result to compute an estimate of the variance % of T(X) assuming that X is a representative sample from % the underlying distribution of X. If T is multidimensional % then the covariance matrix is estimated. An optional third % input argument sets the number of resamples, default is 200. % % See also COV, COVJACK, and CIBOOT. % Anders Holtsberg, 11-01-95 % Copyright (c) Anders Holtsberg % referred from http://www.koders.com arglist = []; for i = 4:nargin arglist = [arglist, ',p', num2str(i-3)]; end if nargin < 3 B = 200; end if min(size(x)) == 1 x = x(:); end % Now, for functions that are known to produce columnwise % results it is faster to avoid the forloop! Note that % there are functions that cannot be included, i e "cov". colWiseFun = strcmp(theta,'mean') | ... strcmp(theta,'std') | ... strcmp(theta,'median') | ... strcmp(theta,'quantile'); [n,nx] = size(x); evalstring = [theta,'(xb',arglist,')']; xb = rboot(x); s = eval(evalstring); y = [s(:) zeros(length(s(:)),B-1)]; if nx == 1 & colWiseFun Bchunk = ceil(40000/n); i = 1; while i