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-Transform H(z)= [[1 2 2]、[0.18]]は、以下の極と零点を与えます(matlabごと)。
poles =
-1.0000 + 1.0000i
-1.0000 - 1.0000i
zeros =
-0.8000
それはこのように見えるはずです
代わりに私が得るのは
私の0は-1 + 1iと-1-1iにあり、私の極は1-.8iにあるようですが、代わりに-8 + 0iにするべきです
私はそれが私が行方不明の単純なものだと確信していますが、私はそれを理解することはできません。私はそれが単極か単一のゼロを持っているときだけ起こると思う。
plot(X)は常に1 + xiをプロットするのがデフォルトですか?
回答:
回答№1は1real()とimag()でより明確になることで修正されました。
plot(real(b_roots),imag(b_roots),"o blue");
plot(real(a_roots),imag(a_roots),"x red");