-
Notifications
You must be signed in to change notification settings - Fork 1
/
spm_Xpdf.m
55 lines (53 loc) · 2.05 KB
/
spm_Xpdf.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function f = spm_Xpdf(x,v)
% Probability Density Function (PDF) of Chi-Squared distribution
% FORMAT f = spm_Xpdf(x,v)
%
% x - Chi-squared variate
% v - degrees of freedom (v>0, non-integer d.f. accepted)
% f - PDF at x of Chi-squared distribution with v degrees of freedom
%__________________________________________________________________________
%
% spm_Xpdf implements the Probability Density Function of the
% Chi-squared distributions.
%
% Definition:
%-----------------------------------------------------------------------
% The Chi-squared distribution with v degrees of freedom is defined for
% positive integer v and x in [0,Inf), and has Probability Distribution
% Function (PDF) f(x) given by: (See Evans et al., Ch8)
%
% x^((v-2)/2) exp(-x/2)
% f(x) = ---------------------
% 2^(v/2) * gamma(v/2)
%
% Variate relationships: (Evans et al., Ch8 & Ch18)
%-----------------------------------------------------------------------
% The Chi-squared distribution with v degrees of freedom is equivalent
% to the Gamma distribution with scale parameter 1/2 and shape parameter v/2.
%
% Algorithm:
%-----------------------------------------------------------------------
% Using routine spm_Gpdf for Gamma distribution, with appropriate parameters.
%
% References:
%-----------------------------------------------------------------------
% Evans M, Hastings N, Peacock B (1993)
% "Statistical Distributions"
% 2nd Ed. Wiley, New York
%
% Abramowitz M, Stegun IA, (1964)
% "Handbook of Mathematical Functions"
% US Government Printing Office
%
% Press WH, Teukolsky SA, Vetterling AT, Flannery BP (1992)
% "Numerical Recipes in C"
% Cambridge
%
%__________________________________________________________________________
% @(#)spm_Xpdf.m 2.2 Andrew Holmes 99/04/26
%-Check enough arguments
%-----------------------------------------------------------------------
if nargin<2, error('Insufficient arguments'), end
%-Computation
%---------------------------------------------------------------------------
f = spm_Gpdf(x,v/2,1/2);