使用plot_pz([pole],[zeros])
的代码function plot_pz(b,a)
b_roots = roots(b);
a_roots = roots(a);
plot(b_roots,'x black');
plot(a_roots,'o blue');
axis equal;
我可以让我的b_roots正确绘制,但我的a_roots不断绘制在1 + 0i轴上(或x = 1)。例如,Z变换H(z)= [[1 2 2],[0 1.8]]给出以下极点和零(每个matlab):
poles =
-1.0000 + 1.0000i
-1.0000 - 1.0000i
zeros =
-0.8000
看起来应该是这样的
但我得到的是
我的零点在-1 + 1i和-1-1i,我的极点似乎是1-.8i,但应该是-8 + 0i
我确信这是一件我想念的简单事情,但我无法弄明白。我认为只有当我有一个单极或一个零时才会发生。
图(X)是否始终默认为绘制1 + xi?
答案 0 :(得分:1)
通过更清楚地了解real()和imag()
来解决plot(real(b_roots),imag(b_roots),'o blue');
plot(real(a_roots),imag(a_roots),'x red');