is this expression right in MATLAB?

Hi
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)

@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 (mathworks.com)

2 Comments

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
@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 (mathworks.com) you should be OK.

Sign in to comment.

Categories

Asked:

on 2 Aug 2022

Commented:

on 6 Aug 2022

Community Treasure Hunt

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

Start Hunting!