ztrans command changing sample period
显示 更早的评论
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))
回答(2 个)
Paulo Silva
2011-1-25
easy question and easy answer
syms t T
ztrans(exp(-t*T))
ans =
z/(z - 1/exp(T))
3 个评论
Walter Roberson
2011-1-25
Scooped! :)
Paul Prechtl
2023-4-6
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
2011-1-25
0 个投票
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 个评论
Paulo Silva
2011-1-25
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
2011-1-25
I made a mistake, it's
iztrans(z/(z - 1/exp(1)))
ans =
(6627126856707895/18014398509481984)^n
It's something close to 0.3679^n
类别
在 帮助中心 和 File Exchange 中查找有关 Vehicle Dynamics Blockset 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!