controllability/
controllability.rs1use control_sys::analysis;
2use control_sys::model;
3
4extern crate nalgebra as na;
5
6fn main() -> Result<(), Box<dyn std::error::Error>> {
7 let ss_model = model::DiscreteStateSpaceModel::from_matrices(
8 &nalgebra::dmatrix![1.0, -2.0;
9 2.0, 1.0],
10 &nalgebra::dmatrix![1.0;
11 2.0],
12 &nalgebra::dmatrix![],
13 &nalgebra::dmatrix![],
14 0.05,
15 );
16
17 let (is_controllable, controllability_matrix) = analysis::is_ss_controllable(&ss_model);
18
19 if is_controllable {
20 println!("The system is controllable");
21 println!("Its controllability matrix is: {}", controllability_matrix);
22 }
23
24 Ok(())
25}