<< distfun_chi2inv Chi-Squared distfun_chi2rnd >>

distfun >> distfun > Chi-Squared > distfun_chi2pdf

distfun_chi2pdf

Chi-squared PDF

Calling Sequence

y = distfun_chi2pdf(x,k)

Parameters

x :

a matrix of doubles, the outcome, greater or equal to zero

k :

a matrix of doubles, the number of degrees of freedom, k>0 (can be non integer)

y :

a matrix of doubles, the probability density.

Description

Computes the probability distribution function of the Chi-squared distribution function.

Any scalar input argument is expanded to a matrix of doubles of the same size as the other input arguments.

The function definition is:

\begin{eqnarray}
f(x,k) = \frac{1}{2^{\frac{k}{2}}\Gamma\left(\frac{k}{2}\right)} x^{\frac{k}{2}-1} \exp\left(-\frac{x}{2}\right)
\end{eqnarray}

Analysis of the random variable.

If Z1, ..., Zk are independent standard normal random variables, then

\begin{eqnarray}
Q=Z_1^2+...+Z_k^2
\end{eqnarray}

has a chi-squared distribution with k degrees of freedom.

Examples

// Test with x scalar, k scalar
computed = distfun_chi2pdf(4,5)
expected = 0.1439759

// Test with expanded x, k scalar
computed = distfun_chi2pdf([2 6],5)
expected = [0.1383692 0.0973043]

// Test with x scalar, k expanded
computed = distfun_chi2pdf(4,[4 7])
expected = [0.1353353 0.1151807]

// Test with both x,k expanded
computed = distfun_chi2pdf([2 6],[3 4])
expected = [0.2075537 0.0746806]

// Plot the function
h=scf();
k = [2 3 4 6 9 12];
cols = [1 2 3 4 5 6];
lgd = [];
for i = 1:size(k,"c")
x = linspace(0,10,1000);
y = distfun_chi2pdf ( x , k(i) );
plot(x,y)
str = msprintf("k=%s",string(k(i)));
lgd($+1) = str;
end
for i = 1:size(k,"c")
hcc = h.children.children;
hcc.children(size(k,"c") - i + 1).foreground = cols(i);
end
xtitle("Chi-squared PDF","x","y")
legend(lgd);

Bibliography

http://en.wikipedia.org/wiki/Chi-squared_distribution

Authors


Report an issue
<< distfun_chi2inv Chi-Squared distfun_chi2rnd >>