LinearSystems.ZeroPoleToTransferFun Method

void ZeroPoleToTransferFun(TVec Num, TVec Den, TVec z, TVec p, Double k)

Convert transfer function from zero-pole to numerator-denominator form.

#NameTypeDescription
1NumTVecsource TVec
2DenTVecsource TVec
3zTVecsource TVec
4pTVecsource TVec
5kDoublescalar

Result: stored in self (calling object)

Remarks:

Convert a rational polynomial defined with zeros Z and poles P and gain K in to its numerator Num and denominator Den form. The numerator will be scaled by K and both polynomials are assumed to have only real coefficents. (Poles and zeros can still be complex, if they have complex conjugated pairs.)

        num(s)      (s-sz1)*...*(s-szn)
H(s) = -------- = K*-------------------
        den(s)      (s-sp1)*...*(s-spn)

szn - n'th zero
spn - n'th pole
K - system gain
Examples
using Dew.Math;
    using Dew.Math.Editors;
    using Dew.Math.Units;
    using Dew.Signal;
    using Dew.Signal.Units;
    using Dew.Math.Tee;
    using Dew.Signal.Tee;

    private void button1_Click(object sender, EventArgs e)
    {
        Vector z = new Vector(0);
        Vector p = new Vector(0);
        Vector num = new Vector(0);
        Vector den = new Vector(0);
        double k;

        z.SetIt(false,new double[2] {3,4});
        p.SetIt(false,new double[2] {1,2});
        k = 1;
        LinearSystems.ZeroPoleToTransferFun(num,den,z,p,k);
        MtxVecEdit.ViewValues(num,"Numerator",true);
        MtxVecEdit.ViewValues(den,"Denominator",true);
//        num = [1, -7,  12]
//        den = [1, -3,   2]
    }
See Also: LinearSystems.ZeroPoleToStateSpace, LinearSystems.StateSpaceToTransferFun, LinearSystems.StateSpaceToZeroPole, LinearSystems.TransferFunToZeroPole