Matlab绘制真实和虚构的根

时间:2015-04-17 23:07:46

标签: matlab matlab-figure

使用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

看起来应该是这样的

Correct H(z)

但我得到的是

Wrong H(z)

我的零点在-1 + 1i和-1-1i,我的极点似乎是1-.8i,但应该是-8 + 0i

我确信这是一件我想念的简单事情,但我无法弄明白。我认为只有当我有一个单极或一个零时才会发生。

图(X)是否始终默认为绘制1 + xi?

1 个答案:

答案 0 :(得分:1)

通过更清楚地了解real()和imag()

来解决
plot(real(b_roots),imag(b_roots),'o blue');
plot(real(a_roots),imag(a_roots),'x red');