29cad2482e3d404330ba0e552f184ede3842ab25
[scilab.git] / scilab / modules / statistics / macros / ftest.sci
1
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2000 - INRIA - Carlos Klimann
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 //
11
12 function [f,p]=ftest(samples)
13     //
14     //Given a  number nc of samples each  of them composed of nr
15     //observations this fonction computes in f the Fischer ratio
16     //(it is the  ratio between  nr times  the variance   of the
17     //means of  samples  and the  mean of the  variances of each
18     //sample).  Additionnally it gives (in p) the p-value of the
19     //computed  Fischer ratio.  samples   is a matrix  with type
20     //nrxnc.
21     //
22     //References:  Wonacott, T.H. & Wonacott, R.J.; Introductory
23     //Statistics, J.Wiley & Sons, 1990.
24     //
25     [nr nc]=size(samples)
26     xbar=mean(samples,"r")
27     xbarbar=mean(xbar)
28     sx2=sum((xbar-xbarbar).^2)/(nc-1)
29     sp2=(sum(sum((samples-ones(nr,1)*xbar).^2),"r"))/(nc*(nr-1))
30     f=(nr*sx2)/sp2
31     p=1-cdff("PQ",f,(nc-1),(nc*(nr-1)))
32 endfunction