wolffd@0
|
1 function P = chisquared_prob(X2,v)
|
wolffd@0
|
2 %CHISQUARED_PROB computes the chi-squared probability function.
|
wolffd@0
|
3 % P = CHISQUARED_PROB( X2, v ) returns P(X2|v), the probability
|
wolffd@0
|
4 % of observing a chi-squared value <= X2 with v degrees of freedom.
|
wolffd@0
|
5 % This is the probability that the sum of squares of v unit-variance
|
wolffd@0
|
6 % normally-distributed random variables is <= X2.
|
wolffd@0
|
7 % X2 and v may be matrices of the same size size, or either
|
wolffd@0
|
8 % may be a scalar.
|
wolffd@0
|
9 %
|
wolffd@0
|
10 % e.g., CHISQUARED_PROB(5.99,2) returns 0.9500, verifying the
|
wolffd@0
|
11 % 95% confidence bound for 2 degrees of freedom. This is also
|
wolffd@0
|
12 % cross-checked in, e.g., Abramowitz & Stegun Table 26.8
|
wolffd@0
|
13 %
|
wolffd@0
|
14 % See also CHISQUARED_TABLE
|
wolffd@0
|
15 %
|
wolffd@0
|
16 %Peter R. Shaw, WHOI
|
wolffd@0
|
17
|
wolffd@0
|
18 % References: Press et al., Numerical Recipes, Cambridge, 1986;
|
wolffd@0
|
19 % Abramowitz & Stegun, Handbook of Mathematical Functions, Dover, 1972.
|
wolffd@0
|
20
|
wolffd@0
|
21 % Peter R. Shaw, Woods Hole Oceanographic Institution
|
wolffd@0
|
22 % Woods Hole, MA 02543
|
wolffd@0
|
23 % (508) 457-2000 ext. 2473 pshaw@whoi.edu
|
wolffd@0
|
24 % March, 1990; fixed Oct 1992 for version 4
|
wolffd@0
|
25
|
wolffd@0
|
26 % Computed using the Incomplete Gamma function,
|
wolffd@0
|
27 % as given by Press et al. (Recipes) eq. (6.2.17)
|
wolffd@0
|
28
|
wolffd@0
|
29 % Following nonsense is necessary from Matlab version 3 -> version 4
|
wolffd@0
|
30 versn_str=version; eval(['versn=' versn_str(1) ';']);
|
wolffd@0
|
31 if versn<=3, %sigh
|
wolffd@0
|
32 P = gamma(v/2, X2/2);
|
wolffd@0
|
33 else
|
wolffd@0
|
34 P = gammainc(X2/2, v/2);
|
wolffd@0
|
35 end
|