首先,我使用的是sym,所以我需要一个step(Heaviside)函数。我知道 Matlab 中存在一个heaviside(t)
,所以我正在使用它。
现在,假设我有函数:x = -2^(-n+1)*heaviside(n-2)
with syms n
before。现在:
X = ztrans(x); // z transform
x = iztrans(X); // inverse z transform
(这应该返回原始的 x 函数)
这返回x = kroneckerDelta(n - 1, 0) + kroneckerDelta(n - 2, 0)/4 - 2*(1/2)^n + 2*kroneckerDelta(n, 0)
当我现在尝试绘制x
时,使用ezplot(x)
它会返回一堆错误:
Error using inlineeval (line 15)
Error in inline expression ==> kroneckerDelta(n - 1, 0) + kroneckerDelta(n - 2, 0)./4 - 2.*(1./2).^n + 2.*kroneckerDelta(n, 0)
Undefined function 'kroneckerDelta' for input arguments of type 'double'.
Error in inline/feval (line 34)
INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr);
Error in ezplotfeval (line 52)
z = feval(f,x(1));
Error in ezplot>ezplot1 (line 467)
[y, f, loopflag] = ezplotfeval(f, x);
如何绘制函数 x 或阻止这些错误出现?我只使用了Matlab固有的功能,不知道该怎么办......