Show
Ignore:
Timestamp:
10/12/09 19:38:54 (15 years ago)
Author:
smidl
Message:

corrections in Kalman and particles

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/estim/kalman.cpp

    r583 r653  
    1616        mat &P = est->_R(); 
    1717        mat& _Ry = fy._R(); 
     18        vec& yp = fy._mu(); 
    1819        //Time update 
    1920        mu = A * mu + B * u; 
     
    2425        _K = P * C.transpose() * inv ( _Ry ); 
    2526        P -= _K * C * P; // P = P -KCP; 
    26         mu += _K * ( y - C * mu - D * u ); 
     27        yp = C * mu + D * u; 
     28        mu += _K * ( y - yp ); 
    2729 
    2830        if ( evalll ) { 
    29                 ll=est->evallog(y); 
     31                ll=fy.evallog(y); 
    3032        } 
    3133}; 
     
    6567        mat &P = est->_R(); 
    6668        mat& _Ry = fy._R(); 
     69        vec& yp = fy._mu(); 
    6770         
    6871        pfxu->dfdx_cond ( mu, zeros ( dimu ), A, true ); 
     
    7780        _K = P * C.transpose() * inv ( _Ry ); 
    7881        P -= _K * C * P; // P = P -KCP; 
    79         vec yp = phxu->eval ( mu, u ); 
     82        yp = phxu->eval ( mu, u ); 
    8083        mu += _K * ( y - yp ); 
    8184