[][src]Trait automatica::linear_system::discrete::DiscreteTime

pub trait DiscreteTime<T: Scalar> {
    fn discretize(&self, st: T, method: Discretization) -> Option<Ssd<T>>;
}

Trait for the discretization of continuous time linear systems.

Required methods

fn discretize(&self, st: T, method: Discretization) -> Option<Ssd<T>>

Convert a linear system into a discrete system.

Arguments

  • st - sample time
  • method - discretization method
Loading content...

Implementors

impl<T: ComplexField + Float> DiscreteTime<T> for Ss<T>[src]

fn discretize(&self, st: T, method: Discretization) -> Option<Ssd<T>>[src]

Convert a linear system into a discrete system.

Arguments

  • st - sample time
  • method - discretization method

Example

use automatica::{linear_system::discrete::DiscreteTime, Discretization, Ss};
let sys = Ss::new_from_slice(2, 1, 1, &[-3., 0., -4., -4.], &[0., 1.], &[1., 1.], &[0.]);
let disc_sys = sys.discretize(0.1, Discretization::Tustin).unwrap();
let evo = disc_sys.evolution_fn(20, |t| vec![1.], &[0., 0.]);
let last = evo.last().unwrap();
assert_relative_eq!(0.25, last.state()[1], max_relative = 0.01);
Loading content...