我想从kroneckerDelta函数的总和中提取系数。我已经计算了z变换,并且通过采用逆z变换,结果是kroneckerDelta函数的线性组合。当我使用sym2poly时,我得到的错误是它不是一个有效的函数。我有以下代码
clc;
clear all;
syms z
f=[2 4 6 4 2 0];
% f=h0;
c=length(f)
for i=1:c
z_t(i)=[f(i)*z^-(i-1)];
end
ztransfn=sum(z_t);
invztransfn= iztrans(ztransfn)
结果是
invztransfn =
4*kroneckerDelta(n - 1, 0) + 6*kroneckerDelta(n - 2, 0) + 4*kroneckerDelta(n - 3, 0) + 2*kroneckerDelta(n - 4, 0) + 2*kroneckerDelta(n, 0)
使用
sym2poly(invztransfn)
我得到了
使用sym / sym2poly时出错(第31行)不是多项式。
ztransform(第22行)中的错误sym2poly(invztransfn)
答案 0 :(得分:1)
如何使用coeffs
功能?
如果在Matlab的命令窗口中键入以下文本:
>> coeffs(invztransfn)
你会得到结果:
[ 2, 2, 4, 6, 4]
我希望这会有所帮助。最好的问候。