pub struct ExtendedKalmanFilter<'a> {
pub dim_x: usize,
pub dim_z: usize,
pub f: Box<dyn Fn(&[f64]) -> Vec<f64> + 'a>,
pub h: Box<dyn Fn(&[f64]) -> Vec<f64> + 'a>,
pub f_jacobian: Box<dyn Fn(&[f64]) -> Vec<f64> + 'a>,
pub h_jacobian: Box<dyn Fn(&[f64]) -> Vec<f64> + 'a>,
pub q: Vec<f64>,
pub r: Vec<f64>,
pub x0: Vec<f64>,
pub p0: Vec<f64>,
}Expand description
Extended Kalman filter parameterised on non-linear f(x), h(x), plus
Jacobians Fj(x) and Hj(x).
Fields§
§dim_x: usize§dim_z: usize§f: Box<dyn Fn(&[f64]) -> Vec<f64> + 'a>§h: Box<dyn Fn(&[f64]) -> Vec<f64> + 'a>§f_jacobian: Box<dyn Fn(&[f64]) -> Vec<f64> + 'a>§h_jacobian: Box<dyn Fn(&[f64]) -> Vec<f64> + 'a>§q: Vec<f64>§r: Vec<f64>§x0: Vec<f64>§p0: Vec<f64>Implementations§
Source§impl<'a> ExtendedKalmanFilter<'a>
impl<'a> ExtendedKalmanFilter<'a>
Sourcepub fn run(&self, z: &[f64]) -> SeqResult<ExtendedKalmanResult>
pub fn run(&self, z: &[f64]) -> SeqResult<ExtendedKalmanResult>
Run the EKF on z (T × dim_z).
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for ExtendedKalmanFilter<'a>
impl<'a> !Send for ExtendedKalmanFilter<'a>
impl<'a> !Sync for ExtendedKalmanFilter<'a>
impl<'a> !UnwindSafe for ExtendedKalmanFilter<'a>
impl<'a> Freeze for ExtendedKalmanFilter<'a>
impl<'a> Unpin for ExtendedKalmanFilter<'a>
impl<'a> UnsafeUnpin for ExtendedKalmanFilter<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more