关于matlab ztrans函数
下面的程序就是简单的对单位阶跃函数做Z变换,但明白人都知道这结果不对啊,正确结果应该是z/(z-1)。不知道后面为啥多个1/2。heaviside函数我做了简单的修改,就...
下面的程序就是简单的对单位阶跃函数做Z变换,但明白人都知道这结果不对啊,正确结果应该是z/(z-1) 。不知道后面为啥多个1/2。heaviside 函数我做了简单的修改,就是把X==0的值改成了1(原先默认是0.5),但是改回0.5仍然是这个结果。怎么用matlab来计算离散单位阶跃函数U[n]的z变换????
syms n
>> x=heaviside(n);
>> X=ztrans(x)
X =
1/(z - 1) + 1/2 展开
syms n
>> x=heaviside(n);
>> X=ztrans(x)
X =
1/(z - 1) + 1/2 展开
1个回答
展开全部
这个结果应该是正确的。
z变换定义: F(z) = symsum(f(n)/z^n, n, 0, inf),则
x=heaviside(n)有三种结果:n<0时,x=0;n=0时,x=0.5;n>0时,x=1,相应的z变换是
X=ztrans(x)有两种结果:n<0时,X=0;
n>=0时,X=0.5/z^0+1/z+1/z^2+1/z^3+...+1/z^inf
=0.5+1/z+1/z^2+1/z^3+...+1/z^inf
而在z>1时1/z+1/z^2+1/z^3+...+1/z^inf=1/(z-1)
所以,原结果是对的。
z变换定义: F(z) = symsum(f(n)/z^n, n, 0, inf),则
x=heaviside(n)有三种结果:n<0时,x=0;n=0时,x=0.5;n>0时,x=1,相应的z变换是
X=ztrans(x)有两种结果:n<0时,X=0;
n>=0时,X=0.5/z^0+1/z+1/z^2+1/z^3+...+1/z^inf
=0.5+1/z+1/z^2+1/z^3+...+1/z^inf
而在z>1时1/z+1/z^2+1/z^3+...+1/z^inf=1/(z-1)
所以,原结果是对的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询