nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
place.hpp
Go to the documentation of this file.
1
3// toolboxes/control/include/nk/control/state/place.hpp
4//
5// Pole-placement state-feedback design via Ackermann's formula.
6// SISO only — the multi-input `place` variant uses Kautsky–Nichols
7// eigenvector assignment, which we don't support here.
8
9#pragma once
10
11#include <memory_resource>
12#include <nk/value/value.hpp>
13
14namespace nk::control {
15
18
19
46Value acker(const Value &A, const Value &B, const Value &p,
47 std::pmr::memory_resource *mr = nullptr);
48
65Value place(const Value &A, const Value &B, const Value &p,
66 std::pmr::memory_resource *mr = nullptr);
67
68
70} // namespace nk::control
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value acker(const Value &A, const Value &B, const Value &p, std::pmr::memory_resource *mr=nullptr)
Ackermann's pole placement (K = acker(A, B, p)).
Value place(const Value &A, const Value &B, const Value &p, std::pmr::memory_resource *mr=nullptr)
SISO alias for acker — K = place(A, B, p).