如何在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)
有人能帮我解决这个问题吗