Main Content

polyphase

Polyphase components of Laurent polynomial

Since R2021b

    Description

    [E,O] = polyphase(P) returns the even part E and odd part O of the Laurent polynomial P.

    example

    Examples

    collapse all

    Create the Laurent polynomial b(z)=z3+3z2-1+2z-1.

    b = laurentPolynomial(Coefficients=[1 3 0 -1 0 2],MaxOrder=3);

    Use the polyphase function to obtain the even and odd parts of b(z). Use the helper function helperPrintLaurent to print the Laurent polynomials in algebraic form.

    [evenP,oddP] = polyphase(b);
    resE = helperPrintLaurent(evenP);
    disp(resE)
    3*z - 1 + 2*z^(-1)
    
    resO = helperPrintLaurent(oddP);
    disp(resO)
    z^(2)
    

    Confirm the identity E(z2)+z-1O(z2)==b(z), where E(z) and O(z) are the even and odd parts, respectively, of b(z).

    evenPz2 = dyadup(evenP);
    oddPz2 = dyadup(oddP);
    lpz = laurentPolynomial(Coefficients=1,MaxOrder=-1);
    leftSide = evenPz2+(lpz*oddPz2);
    areEqual = (leftSide == b)
    areEqual = logical
       1
    
    

    Input Arguments

    collapse all

    Laurent polynomial, specified as a laurentPolynomial object.

    Output Arguments

    collapse all

    Even part of the Laurent polynomial P, returned as a laurentPolynomial object. The polynomial E is such that:

    E(z2) = [P(z) + P(-z)]/2.

    Odd part of the Laurent polynomial P, returned as a laurentPolynomial object. The polynomial O is such that:

    O(z2) = [P(z) - P(-z)]/ [ 2 z-1].

    Extended Capabilities

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Version History

    Introduced in R2021b

    See Also

    Functions

    Objects