source:
issm/oecreview/Archive/14312-15392/ISSM-14325-14326.diff
Last change on this file was 15393, checked in by , 12 years ago | |
---|---|
File size: 2.7 KB |
-
../trunk-jpl/src/m/miscellaneous/prctile_issm.m
35 35 36 36 % check for any NaN in any columns 37 37 38 if ~any( isnan(x))38 if ~any(any((isnan(x)))) 39 39 x=sort(x,1); 40 40 n=size(x,1); 41 41 -
../trunk-jpl/src/m/miscellaneous/normfit_issm.m
7 7 alpha=0.05; 8 8 end 9 9 10 % remove any NaN10 % check for any NaN in any columns 11 11 12 if find(isnan(x)) 13 muhat =zeros(1,size(x,2)); 14 sigmahat=zeros(1,size(x,2)); 15 muci =zeros(2,size(x,2)); 16 sigmaci =zeros(2,size(x,2)); 17 for j=1:size(x,2) 18 [muhat(j),sigmahat(j),muci(:,j),sigmaci(:,j)]=normfit_issm(x(~isnan(x(:,j)),j),alpha); 19 end 20 return 21 end 12 if ~any(any((isnan(x)))) 22 13 23 14 % explicitly calculate the moments 24 15 25 muhat =mean(x);26 sigmahat=std(x);16 muhat =mean(x); 17 sigmahat=std(x); 27 18 28 if (nargout>2)29 prob=1.-alpha/2.;19 if (nargout>2) 20 prob=1.-alpha/2.; 30 21 31 if (size(x,1) == 1) 32 % operate like matlab normfit, mean, std, etc. 33 n=length(x); 34 else 35 n=size(x,1); 22 if (size(x,1) == 1) 23 % operate like matlab normfit, mean, std, etc. 24 n=length(x); 25 else 26 n=size(x,1); 27 end 28 29 muci =zeros(2,length(muhat )); 30 sigmaci =zeros(2,length(sigmahat)); 31 32 try 33 muci(1,:) =muhat-tinv(prob,n-1)*sigmahat/sqrt(n); 34 muci(2,:) =muhat+tinv(prob,n-1)*sigmahat/sqrt(n); 35 sigmaci(1,:)=sigmahat*sqrt((n-1)/chi2inv(prob ,n-1)); 36 sigmaci(2,:)=sigmahat*sqrt((n-1)/chi2inv(1.-prob,n-1)); 37 catch me 38 muci(1,:) =muhat; 39 muci(2,:) =muhat; 40 sigmaci(1,:)=sigmahat; 41 sigmaci(2,:)=sigmahat; 42 end 36 43 end 37 44 38 muci =zeros(2,length(muhat )); 39 sigmaci =zeros(2,length(sigmahat)); 45 else 40 46 41 try 42 muci(1,:) =muhat-tinv(prob,n-1)*sigmahat/sqrt(n); 43 muci(2,:) =muhat+tinv(prob,n-1)*sigmahat/sqrt(n); 44 sigmaci(1,:)=sigmahat*sqrt((n-1)/chi2inv(prob ,n-1)); 45 sigmaci(2,:)=sigmahat*sqrt((n-1)/chi2inv(1.-prob,n-1)); 46 catch me 47 muci(1,:) =muhat; 48 muci(2,:) =muhat; 49 sigmaci(1,:)=sigmahat; 50 sigmaci(2,:)=sigmahat; 47 % must loop over columns, since number of elements could be different 48 49 muhat =zeros(1,size(x,2)); 50 sigmahat=zeros(1,size(x,2)); 51 muci =zeros(2,size(x,2)); 52 sigmaci =zeros(2,size(x,2)); 53 54 % remove any NaN and recursively call column 55 56 for j=1:size(x,2) 57 [muhat(j),sigmahat(j),muci(:,j),sigmaci(:,j)]=normfit_issm(x(~isnan(x(:,j)),j),alpha); 51 58 end 52 59 end 53 60
Note:
See TracBrowser
for help on using the repository browser.