rename method and wrap it
							parent
							
								
									5b71e14424
								
							
						
					
					
						commit
						f34b1cd1eb
					
				
							
								
								
									
										2
									
								
								gtsam.h
								
								
								
								
							
							
						
						
									
										2
									
								
								gtsam.h
								
								
								
								
							| 
						 | 
				
			
			@ -370,6 +370,8 @@ class KalmanFilter {
 | 
			
		|||
			const gtsam::SharedDiagonal& model);
 | 
			
		||||
	gtsam::GaussianDensity* update(gtsam::GaussianDensity* p, Matrix H, Vector z,
 | 
			
		||||
			const gtsam::SharedDiagonal& model);
 | 
			
		||||
	gtsam::GaussianDensity* updateQ(gtsam::GaussianDensity* p, Matrix H, Vector z,
 | 
			
		||||
	    Matrix Q);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//*************************************************************************
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -145,7 +145,7 @@ namespace gtsam {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
  /* ************************************************************************* */
 | 
			
		||||
  KalmanFilter::State KalmanFilter::update(const State& p, const Matrix& H, const Vector& z,
 | 
			
		||||
  KalmanFilter::State KalmanFilter::updateQ(const State& p, const Matrix& H, const Vector& z,
 | 
			
		||||
      const Matrix& Q) {
 | 
			
		||||
    Index k = step(p);
 | 
			
		||||
    Matrix M = inverse(Q), Ht = trans(H);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -143,7 +143,7 @@ namespace gtsam {
 | 
			
		|||
     *  physical property, such as velocity or acceleration, and G is derived from physics.
 | 
			
		||||
     *  This version allows more realistic models than a diagonal covariance matrix.
 | 
			
		||||
     */
 | 
			
		||||
    State update(const State& p, const Matrix& H, const Vector& z,
 | 
			
		||||
    State updateQ(const State& p, const Matrix& H, const Vector& z,
 | 
			
		||||
        const Matrix& Q);
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -272,8 +272,8 @@ TEST( KalmanFilter, QRvsCholesky ) {
 | 
			
		|||
 | 
			
		||||
	// do the above update again, this time with a full Matrix Q
 | 
			
		||||
	Matrix modelQ = diag(emul(sigmas,sigmas));
 | 
			
		||||
  KalmanFilter::State pa3 = kfa.update(pa, H, z, modelQ);
 | 
			
		||||
  KalmanFilter::State pb3 = kfb.update(pb, H, z, modelQ);
 | 
			
		||||
  KalmanFilter::State pa3 = kfa.updateQ(pa, H, z, modelQ);
 | 
			
		||||
  KalmanFilter::State pb3 = kfb.updateQ(pb, H, z, modelQ);
 | 
			
		||||
 | 
			
		||||
  // Check that they yield the same mean and information matrix
 | 
			
		||||
  EXPECT(assert_equal(pa3->mean(), pb3->mean()));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue