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!