Clear Filters
Clear Filters

is this expression right in MATLAB?

2 views (last 30 days)
Aisha Mohamed
Aisha Mohamed on 2 Aug 2022
Commented: Jeffrey Clark on 6 Aug 2022
I know when I want to write the polynomial f(z) = (0.0001) + (0.0174)z + (0.9999)z2 in MATLAB it will be in this form
p=[(0.9999) (0.0174) (0.0001) ] that means I have to start from the coifficient of the higest degree'
My question is when this function take this form
f(1/z) = (0.0001)z−1 + (0.0087)z−2 + (0.9999)z−3
I wrote it in MATLAB in this form p1=[(0.9999) (0.0087) (0.0001) ] is it correct please?
because I see f(1/z) is in the third degree?
I appreciate any help

Answers (1)

Jeffrey Clark
Jeffrey Clark on 6 Aug 2022
@Aisha Mohamed, what you are looking for is known as a Laurent polynomial - Wikipedia. The MATLAB Wavelet Toolbox has functions and definition of this, but I dont have that toolbox. If you do see Create Laurent polynomial - MATLAB (
Torsten on 6 Aug 2022
The function
f(1/z) = (0.0001)*z^(1) + (0.0087)*z^(2) + (0.9999)*z^(3)
is equal to the simple polynomial
P(z) = (0.0001)*z + (0.0087)*z^2 + (0.9999)*z^3
Jeffrey Clark
Jeffrey Clark on 6 Aug 2022
@Aisha Mohamed, did you mean what @Torsten believes, that the z used within the function in the f (your f(1/z)) polynomial already be the reciprocal of the values pluged into the P (your first f) polynomial? I guess that in either case as long as you correct the results or inputs where the polynomial function is used with Polynomials - MATLAB & Simulink ( you should be OK.

Sign in to comment.


Find more on Polynomials in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!