从 kroneckerDelta 函数的线性组合中提取系数

Extract coefficients from linear combination of kroneckerDelta functions

我想从 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)

我明白了

Error using sym/sym2poly (line 31) Not a polynomial.

Error in ztransform (line 22) sym2poly(invztransfn)

使用coeffs功能怎么样? 如果您在 Matlab 的命令 Window 中键入以下文本:

>> coeffs(invztransfn)

你会得到结果:

[ 2, 2, 4, 6, 4]

  1. coeffs

希望对您有所帮助。此致。