root/library/tests/arx_straux_test.cpp @ 698

Revision 698, 1.1 kB (checked in by smidl, 15 years ago)

arx straux passes more tests

Line 
1#include "estim/arx.h"
2#include "mat_checks.h"
3
4using namespace bdm;
5
6TEST ( arx_straux_test ) {
7
8        UIFile F ( "arx_straux_test.cfg" );
9
10        Setting &tests=F.getRoot() ["tests"];
11        for ( int i=0;i<tests.getLength(); i++ ) {
12                mat A;
13                mat B;
14                ivec o1_ok;
15                UI::get ( A,tests[i],"A",UI::compulsory );
16                UI::get ( B,tests[i],"B",UI::compulsory );
17                UI::get ( o1_ok,tests[i],"o1",UI::compulsory );
18
19//when updateing matrices do not forget to update CHECK_EQUAL below!!!
20
21                ldmat Ld0 ( 3 ); Ld0.ldform ( A,ones ( A.rows() ) );
22                ldmat Ld1 ( 3 ); Ld1.ldform ( A+B,ones ( A.rows() ) );
23
24
25                ivec belief = vec_1 ( 2 );        // default belief
26                int nbest = 3;           // nbest: how many regressors are returned
27                int nrep = 5;         // nrep: number of random repetions of structure estimation
28                double lambda   = 0.9;
29                int k=2;
30
31//[strout, rgrsout, statistics] =
32//          straux1(L, d, nu, L0, d0, nu0, belief, nbest, max_nrep, lambda,
33//          order_k);
34                Array<str_aux> o2;
35                ivec o1 = straux1 ( Ld1,20, Ld0, 10,  belief, nbest, nrep, lambda, k, o2 );
36
37//o1 is messed up in matlab's straux
38                sort ( o1_ok );
39                sort ( o1 );
40                CHECK_EQUAL ( o1_ok, o1 );
41        }
42
43}
Note: See TracBrowser for help on using the browser.