growthrate2.m (655B)
1 function [gr,se]=growthrate2(x,yrs); 2 3 % growthrate2.m 4 % 5 % yrs=[1 10; 6 % 1 5; 7 % 6 10]; 8 % 9 % x=TxN vector ==> compute the average growth rate of x over the yrs periods. 10 % 11 % se is the standard error of the growth rate 12 13 gr=zeros(size(yrs,1),size(x,2)); 14 se=gr; 15 for i=1:size(yrs,1); 16 g=delta(log(x(yrs(i,1):yrs(i,2),:))); 17 [gg,ss]=ls(g,ones(length(g),1)); 18 if abs(gg-mean(g))>1e-8; disp 'Error in growth rates???'; keyboard; end; 19 gr(i)=gg; 20 se(i)=ss; 21 end; 22 23 function [beta,se] = ls(y,x); 24 25 [N K] = size(x); 26 xxinv = inv(x'*x); 27 beta = xxinv*x'*y; 28 u = y-x*beta; 29 sigma2=u'*u/(N-K); 30 stdest=sqrt(sigma2); 31 vcv =sigma2*xxinv; 32 se =sqrt(diag(vcv));