is this expression right in MATLAB?

4 ビュー (過去 30 日間)
Aisha Mohamed
Aisha Mohamed 2022 年 8 月 2 日
コメント済み: Jeffrey Clark 2022 年 8 月 6 日
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

回答 (1 件)

Jeffrey Clark
Jeffrey Clark 2022 年 8 月 6 日
@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 (
  2 件のコメント
Torsten 2022 年 8 月 6 日
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 2022 年 8 月 6 日
@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.



Help Center および File ExchangePolynomials についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by