12#include <memory_resource>
13#include <nk/value/value.hpp>
16namespace nk::control {
57 std::pmr::memory_resource *mr =
nullptr);
72std::pair<Value, Value>
74 std::pmr::memory_resource *mr =
nullptr);
100 std::pmr::memory_resource *mr =
nullptr);
125std::pair<Value, Value>
128 std::pmr::memory_resource *mr =
nullptr);
149 std::pmr::memory_resource *mr =
nullptr);
Core MATLAB-compatible multidimensional array and scalar value type.
Tf2ZpResult tf2zp(const Value &num, const Value &den, std::pmr::memory_resource *mr=nullptr)
Convert tf coefficients to zero-pole-gain form.
Value minreal(const Value &sys, double tol=0.0, std::pmr::memory_resource *mr=nullptr)
Minimal realization — cancel pole/zero pairs (sysr = minreal(sys, tol)).
std::pair< Value, Value > ss2tf(const Value &A, const Value &B, const Value &C, const Value &D, int iu, std::pmr::memory_resource *mr=nullptr)
Convert state-space to tf coefficients.
StateSpace tf2ss(const Value &num, const Value &den, std::pmr::memory_resource *mr=nullptr)
Convert tf coefficients to controllable canonical state-space.
std::pair< Value, Value > zp2tf(const Value &z, const Value &p, const Value &k, std::pmr::memory_resource *mr=nullptr)
Convert zero-pole-gain form to tf coefficients.
State-space realisation (A, B, C, D), the result of tf2ss.
Result of tf2zp — zeros, poles, and gain from tf coefficients.
Value k
Gain (scalar = num[0] / den[0] after stripping leading zeros).
Value p
Poles (column vector, complex if needed).
Value z
Zeros (column vector, complex if needed).