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

时间:2016-05-15 13:55:06

标签: matlab signal-processing

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

1 个答案:

答案 0 :(得分:1)

如何使用coeffs功能? 如果在Matlab的命令窗口中键入以下文本:

>> coeffs(invztransfn)

你会得到结果:

[ 2, 2, 4, 6, 4]
  1. coeffs
  2. 我希望这会有所帮助。最好的问候。