我绘制了从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'。这是指数级的。
方法2,用手代数重排,将z ^ n转换为(k-n):
y(k+2) = 3y(k+1) - 3y(k) + u(k+1)
或等效
y(k+1) = 3y(k) - 3y(k-1) + u(k)
另外,对于第二种方法,我需要指定一个'u',而在第一种不需要的方法中,只需要k。为什么第一种方法不需要输入信号u,只需要一个时间步?