void LTIZeros(TVec *z, double &gain, TMtx *A, TVec *B, TVec *C, const double D);
Find zeros of a linear time invariant system in state-space form.
Remarks:
Compute zeros of a linear time invariant system represented in state space form. The resulting zeros are placed in Z and computed system gain in Gain.
Examples
#include "MtxExpr.h"
#include "Units.LinearSystems.h"
using namespace Dew;
using namespace Dew::Math;
using namespace Dew::Signal;
using namespace Dew::Signal::Units::LinearSystems;
void Example()
{
Vector z(0);
Vector p(0);
Vector b(3);
Vector c(3);
Matrix a(3, 3);
double k, d;
a.SetIt(3, 3, false, DewArray<double>{0, 1, 2,
2, 3, 4,
5, 6, 3});
b.Values(0) = 1;
b.Values(1) = 0.5;
b.Values(2) = 2;
c.Values(0) = 1;
c.Values(1) = 2.5;
c.Values(2) = 2;
d = 1;
// .... get a state space version and store in A,B,C,D
a.Eig(p, TMtxType::mtGeneral); //compute poles
LTIZeros(z, k, a, b, c, d); //get zeros and gain
}
Declared in Dew::Signal::Units::LinearSystems · Dew.Signal/Units.LinearSystems.h · Cross-compiler