我绘制了从 Z 变换传递函数获得的两个差分方程的响应。我使用了两种方法,得到了两种不同的结果。为什么?
tf = y(output)/u(input) = z/ (z^2 - 3z + 3)
方法1,使用Matlab,取Z逆变换
tf_difference = iztrans(tf, z, k);
产生:y = 2^k - 1,对于时间步长“k”。这是一个指数。
方法二,手工代数重排,将z^n变成(kn):
y(k+2) = 3y(k+1) - 3y(k) + u(k+1)
或等效地
y(k+1) = 3y(k) - 3y(k-1) + u(k)
另外,对于第二种方法,我需要指定一个'u',而在第一种方法中不需要,只需要k。为什么第一种方法不需要输入信号 u,只需要一个时间步长?