ztrans command changing sample period
Show older comments
I have a question about MATLAB's ztrans function:
When I evaluate the command:
ztrans( exp(-t) )
I get the result:
ans =
z/(z - 1/exp(1))
Is there any way to change the sampling period MATLAB uses to calculate the z-transform? Right now it seems as if its using a default period of 1. Is it possible to have the function return a result such as:
z/(z - 1/exp(1 * T))
Answers (2)
Paulo Silva
on 25 Jan 2011
easy question and easy answer
syms t T
ztrans(exp(-t*T))
ans =
z/(z - 1/exp(T))
3 Comments
Walter Roberson
on 25 Jan 2011
Scooped! :)
Paul Prechtl
on 6 Apr 2023
but here T plays the role of the inverse time constant and not the sampling time
Even though ztrans yielded the desired result in this case, it's a bit misleading. Basically, ztrans is treating t as if its the integer independent variable of the sampled signal, even though that's not what t really represents. I think it's clearer to show in a few steps
syms x t
x = exp(-t)
syms n integer
syms T
xn = subs(x,t,n*T)
syms z
X = ztrans(xn,n,z)
Or, using symfun objects
x(t) = exp(-t)
X(z) = ztrans(x(n*T),n,z)
Walter Roberson
on 25 Jan 2011
0 votes
I do not have access to the Symbolic Math toolbox at the moment, but it would be interesting to
iztrans(z/(z - 1/exp(1 * T)),z)
and see what you would have to transform to get that result.
2 Comments
Paulo Silva
on 25 Jan 2011
iztrans(z/(z - 1/exp(T)),z)
ans=
((1/exp(T))^z*exp(T) - exp(T)*kroneckerDelta(z, 0))/exp(T) + kroneckerDelta(z, 0)
iztrans(z/(z - 1/exp(1)),z)
ans =
(6627126856707895/18014398509481984)^z
Paulo Silva
on 25 Jan 2011
I made a mistake, it's
iztrans(z/(z - 1/exp(1)))
ans =
(6627126856707895/18014398509481984)^n
It's something close to 0.3679^n
Categories
Find more on Vehicle Dynamics Blockset in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!