LinearSystems::LTIZeros Function

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.

#NameTypeDescription
1zTVec *
2gaindouble &
3ATMtx *
4BTVec *
5CTVec *
6Dconst double
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
}
See Also: LinearSystems::StateSpaceToTransferFun, LinearSystems::StateSpaceToZeroPole
Declared in Dew::Signal::Units::LinearSystems · Dew.Signal/Units.LinearSystems.h · Cross-compiler