12#include <memory_resource>
13#include <nk/value/value.hpp>
16namespace nk::control {
44 std::pmr::memory_resource *mr =
nullptr);
61 std::pmr::memory_resource *mr =
nullptr);
82 double Ts, std::pmr::memory_resource *mr =
nullptr);
100 std::pmr::memory_resource *mr =
nullptr);
116 std::pmr::memory_resource *mr =
nullptr);
126std::tuple<Value, Value>
146std::tuple<Value, Value>
147tfdata(
const Value &sys,
bool asVector, std::pmr::memory_resource *mr =
nullptr);
160std::tuple<Value, Value, Value>
161zpkdata(
const Value &sys,
bool asVector, std::pmr::memory_resource *mr =
nullptr);
172std::tuple<Value, Value, Value, Value>
187 std::pmr::memory_resource *mr =
nullptr);
Core MATLAB-compatible multidimensional array and scalar value type.
Value tf(const Value &num, const Value &den, double Ts, std::pmr::memory_resource *mr=nullptr)
Transfer-function LTI constructor (tf(num, den, Ts)).
std::tuple< Value, Value > tfdata(const Value &sys, bool asVector, std::pmr::memory_resource *mr=nullptr)
Extract numerator / denominator from any LTI form (tfdata).
std::tuple< Value, Value, Value, Value > ssdata(const Value &sys, std::pmr::memory_resource *mr=nullptr)
Extract A, B, C, D from any LTI form (ssdata).
std::tuple< Value, Value > frdata(const Value &sys, std::pmr::memory_resource *mr=nullptr)
Extract (resp, freq) from an frd model.
Value ss(const Value &A, const Value &B, const Value &C, const Value &D, double Ts, std::pmr::memory_resource *mr=nullptr)
State-space LTI constructor (ss(A, B, C, D, Ts)).
Value ss2ss(const Value &sys, const Value &T, std::pmr::memory_resource *mr=nullptr)
Similarity transform of a state-space model (ss2ss(sys, T)).
Value filt(const Value &num, const Value &den, double Ts, std::pmr::memory_resource *mr=nullptr)
Discrete tf with z^-1 variable convention (filt(num, den, Ts)).
Value zpk(const Value &z, const Value &p, double k, double Ts, std::pmr::memory_resource *mr=nullptr)
Zero-pole-gain LTI constructor (zpk(z, p, k, Ts)).
std::tuple< Value, Value, Value > zpkdata(const Value &sys, bool asVector, std::pmr::memory_resource *mr=nullptr)
Extract zeros, poles, and gain (zpkdata).
Value frd(const Value &response, const Value &frequency, double Ts, std::pmr::memory_resource *mr=nullptr)
Frequency-response data model (frd(response, frequency, Ts)).