如何在Matlab中用Z变换求解差分方程

如何在Matlab中用Z变换求解差分方程,matlab,difference-equations,Matlab,Difference Equations,我试图找到滤波器的脉冲响应,用一个差分方程表示,如下所示: function [ y ] = impulse_me( n ) y = (n==0); end y[n]-y[n-1]+0.9*y[n-2]=x[n]-x[n-2] 我想用Z变换来解方程。我在Matlab中使用以下代码: syms y(n) z eq = y(n) - y(n - 1) - 0.9*y(n - 2) - impulse_me(n) + impulse_me(n - 2); Zeq = ztrans

我试图找到滤波器的脉冲响应,用一个差分方程表示,如下所示:

function [ y ] = impulse_me( n )
    y = (n==0);
    end
y[n]-y[n-1]+0.9*y[n-2]=x[n]-x[n-2]

我想用Z变换来解方程。我在Matlab中使用以下代码:

syms y(n) z  
eq = y(n) - y(n - 1) - 0.9*y(n - 2) - impulse_me(n) + impulse_me(n - 2);
Zeq = ztrans(eq, n, z); 
我已声明Pulse_me函数如下:

function [ y ] = impulse_me( n )
    y = (n==0);
    end
但当我运行代码时,结果是:

Zeq =

ztrans(y(n) - (9*y(n - 2))/10 - y(n - 1) - 2 == y(n) - (9*y(n - 2))/10 - y(n - 1), n, z)
有人能帮我解决这个问题吗