Changeset 32 for bdm/stat/libBM.cpp

Show
Ignore:
Timestamp:
03/03/08 13:00:32 (16 years ago)
Author:
smidl
Message:

test KF : estimation of R in KF is not possible! Likelihood of y_t is growing when R -> 0

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • bdm/stat/libBM.cpp

    r27 r32  
    77using std::cout; 
    88 
    9 void RV::init( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times, ivec in_obs ) { 
     9void RV::init( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times ) { 
    1010        // 
    1111        int i; 
     
    1616                ( len != in_names.length() ) || \ 
    1717                ( len != in_sizes.length() ) || \ 
    18                 ( len != in_times.length() ) || \ 
    19                 ( len != in_obs.length() ) ) { 
     18                ( len != in_times.length() )) { 
    2019                it_error( "RV::RV inconsistent length of input vectors." ); 
    2120        } 
     
    2524        sizes = in_sizes; 
    2625        times = in_times; 
    27         obs = in_obs; 
    2826        size = 0; 
    2927        for(i=0;i<len;i++){size+=sizes(i);} 
    3028}; 
    3129 
    32 RV::RV ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times, ivec in_obs ) { 
    33         init ( in_ids, in_names, in_sizes, in_times, in_obs ); 
     30RV::RV ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times ) { 
     31        init ( in_ids, in_names, in_sizes, in_times ); 
    3432} 
    3533 
    36 RV::RV () {}; 
     34RV::RV () : size(0),len(0){}; 
     35 
     36void RV::add (const RV &rv2) { 
     37        // TODO 
     38        size+=rv2.size; 
     39        len +=rv2.len; 
     40        ids=concat(ids,rv2.ids); 
     41        sizes=concat(sizes,rv2.sizes); 
     42        times=concat(times,rv2.times); 
     43        names=concat(names,rv2.names); 
     44//      return *this; 
     45}; 
    3746 
    3847RV::RV ( ivec in_ids ) { 
     
    4655        } 
    4756 
    48         init ( in_ids, A, ones_i( len ), zeros_i( len ), zeros_i( len ) ); 
     57        init ( in_ids, A, ones_i( len ), zeros_i( len ) ); 
    4958} 
    5059 
    5160RV RV::subselect(ivec ind){ 
    52         return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind), obs(ind)); 
     61        return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind)); 
    5362} 
    5463 
     
    5665 
    5766RV RV::operator()(ivec ind){ 
    58         return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind), obs(ind)); 
     67        return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind)); 
    5968} 
    6069 
     
    7786        return indlist; 
    7887} 
     88 
     89RV concat(const RV &rv1, const RV &rv2 ){ 
     90        RV pom = rv1; 
     91        pom.add(rv2);  
     92        return pom; 
     93}