* Bug #7858 fixed - Statistics: variance and variancef
[scilab.git] / scilab / modules / statistics / tests / unit_tests / variancef.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- CLI SHELL MODE -->
9
10 x = [0.2113249 0.0002211 0.6653811; 0.7560439 0.9546254 0.6283918];
11 fre = [1 2 3; 3 4 3];
12
13 refM = 0.63623244375;
14 refV = 0.096057419504;
15 [v, m] = variancef(x, fre);
16 assert_checkalmostequal([v m], [refV refM]);
17
18 refM = [0.61986415 0.636490633333 0.64688645];
19 refV = [0.074179697240 0.242903351429 0.000410462494];
20 [v, m] = variancef(x, fre, "r");
21 assert_checkalmostequal([v m], [refV refM]);
22
23 refM = [0.367985066667; 0.79718087];
24 refV = [0.112075256021; 0.021077902385];
25 [v, m] = variancef(x, fre, "c");
26 assert_checkalmostequal([v m], [refV refM]);
27
28 // With the a priori mean
29 refM = 0.63623244375;
30 refV = 0.090053830785;
31 [v, m] = variancef(x, fre, "*", meanf(x,fre));
32 assert_checkalmostequal([v m], [refV refM]);
33
34 refM = [0.61986415 0.636490633333 0.64688645];
35 refV = [0.055634772930 0.202419459524 0.000342052079];
36 [v, m] = variancef(x, fre, "r", meanf(x,fre,"r"));
37 assert_checkalmostequal([v m], [refV refM]);
38
39 refM = [0.367985066667; 0.79718087];
40 refV = [0.093396046684; 0.018970112146];
41 [v, m] = variancef(x, fre, "c", meanf(x,fre,"c"));
42 assert_checkalmostequal([v m], [refV refM]);
43
44 // Biased variance
45 refM = 0.63623244375;
46 refV = 0.090053830785;
47 [v, m] = variancef(x, fre, "*", %nan);
48 assert_checkalmostequal([v m], [refV refM]);