4adf710cb7d98c7e676b13863973e52cbc80786e
[scilab.git] / scilab / modules / statistics / tests / nonreg_tests / bug_7858.dia.ref
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 // <-- Non-regression test for bug 7858 -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/show_bug.cgi?id=7858
14 //
15 // <-- Short Description -->
16 // variance and variancef can take now take the a priori mean as input, and it can be a scalar.
17 // =============================================================================
18 //--------------------------------------------------------------
19 // Variance
20 x = [
21 0.9    0.7
22 0.1    0.1
23 0.5    0.4 ];
24 orien = "r";
25 expectedM = [1 1];
26 expectedV = [1.07 1.26]/3;
27 // Voluntarily passing a bad a priori mean, to check that we get the same results with scalar
28 [Variance, Mean] = variance( x, orien, ones(mean(x,orien)) );
29 assert_checkalmostequal([Variance Mean], [expectedV expectedM]);
30 // With a scalar
31 [Variance, Mean] = variance( x, orien, 1 );
32 WARNING: variance: The significance of input argument #3 has been modified. Please refer to the variance help page.
33 assert_checkalmostequal([Variance Mean], [expectedV expectedM]);
34 orien = "c";
35 expectedM = [1; 1; 1];
36 expectedV = [0.05; 0.81; 0.305];
37 // Voluntarily passing a bad a priori mean, to check that we get the same results with scalar
38 [Variance, Mean] = variance( x, orien, ones(mean(x,orien)) );
39 assert_checkalmostequal([Variance Mean], [expectedV expectedM]);
40 // With a scalar
41 [Variance, Mean] = variance( x, orien, 1 );
42 WARNING: variance: The significance of input argument #3 has been modified. Please refer to the variance help page.
43 assert_checkalmostequal([Variance Mean], [expectedV expectedM]);
44 //--------------------------------------------------------------
45 // Variancef
46 x = [0.2113249 0.0002211 0.6653811; 0.7560439 0.9546254 0.6283918];
47 fre = [1 2 3; 3 4 3];
48 orien = "r";
49 refM = [1 1 1];
50 refV = [0.889522663062 0.593015108708 0.593015108708];
51 [v, m] = variancef( x, fre, orien, ones(meanf(x,fre,orien)) );
52 assert_checkalmostequal([v m], [refV refM]);
53 [v, m] = variancef( x, fre, orien, 1 );
54 assert_checkalmostequal([v m], [refV refM]);
55 orien = "c";
56 refM = [1; 1];
57 refV = [0.288922678414; 0.019966608736];
58 [v, m] = variancef( x, fre, orien, ones(meanf(x,fre,orien)) );
59 assert_checkalmostequal([v m], [refV refM]);
60 [v, m] = variancef( x, fre, orien, 1 );
61 assert_checkalmostequal([v m], [refV refM]);