diff toolboxes/FullBNT-1.0.7/KPMstats/chisquared_prob.m @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toolboxes/FullBNT-1.0.7/KPMstats/chisquared_prob.m	Tue Feb 10 15:05:51 2015 +0000
@@ -0,0 +1,35 @@
+function P = chisquared_prob(X2,v)
+%CHISQUARED_PROB computes the chi-squared probability function.
+%   P = CHISQUARED_PROB( X2, v ) returns P(X2|v), the probability
+%   of observing a chi-squared value <= X2 with v degrees of freedom.
+%   This is the probability that the sum of squares of v unit-variance
+%   normally-distributed random variables is <= X2.
+%   X2 and v may be matrices of the same size size, or either 
+%   may be a scalar.
+%   
+%   e.g., CHISQUARED_PROB(5.99,2) returns 0.9500, verifying the
+%   95% confidence bound for 2 degrees of freedom. This is also
+%   cross-checked in, e.g., Abramowitz & Stegun Table 26.8
+%
+%   See also CHISQUARED_TABLE
+%
+%Peter R. Shaw, WHOI
+
+% References: Press et al., Numerical Recipes, Cambridge, 1986;
+% Abramowitz & Stegun, Handbook of Mathematical Functions, Dover, 1972.
+
+% Peter R. Shaw, Woods Hole Oceanographic Institution
+% Woods Hole, MA 02543
+% (508) 457-2000 ext. 2473  pshaw@whoi.edu
+% March, 1990; fixed Oct 1992 for version 4
+
+% Computed using the Incomplete Gamma function,
+% as given by Press et al. (Recipes) eq. (6.2.17)
+
+% Following nonsense is necessary from Matlab version 3 -> version 4
+versn_str=version; eval(['versn=' versn_str(1) ';']);
+if versn<=3, %sigh
+ P = gamma(v/2, X2/2);
+else
+ P = gammainc(X2/2, v/2);
+end