Прежде всего, я использую sym, поэтому мне нужна функция (Heaviside). Я знаю, что в Matlab существует heaviside(t)
, поэтому я использую это.Z Transform Matlab Ezplot Error
Теперь предположим, что у меня есть функция: x = -2^(-n+1)*heaviside(n-2)
с syms n
. Сейчас:
X = ztrans(x); // z transform
x = iztrans(X); // inverse z transform
(Это должно вернуть первоначальную х функцию)
Это возвращает 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, которые не могли бы выполнять ...
Работает в mupad. вы можете запустить свой код там – Rasman