I want to plot the sequence described by the inverse transform of the following Pulse Transfer Function
G(z) = (0.6321*z^-1)/(1-1.3679*z^-1+0.3679*z^-2)
writing the code
syms z k
G = (0.6321*z^-1)/(1-1.3679*z^-1+0.3679*z^-2)
g = iztrans(G, z, k)
k = linspace(0,14,15);
stem(g,k)
or even
syms z k
G = (0.6321*z^-1)/(1-1.3679*z^-1+0.3679*z^-2)
g = iztrans(G, z, k)
stem(g)
But there is the following error:
DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use VPA.
Error in
stem(g)
What is the problem?

Réponses (2)

Walter Roberson
Walter Roberson le 1 Mai 2016

0 votes

stem() does not understand symbolic expressions. You need to evaluate to get numeric expressions.
gn = double( subs(g, sym('k'), k) );
stem(gn, k)
Priyadharsini B
Priyadharsini B le 1 Déc 2022

0 votes

syms z
f=z/((z-1)^2)*((z+2)^2)
iztrans(f)

Catégories

En savoir plus sur Symbolic Math Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by