Použitie kódu pre plot_pz ([póly], [nuly])
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;
Môžem dostať moje b_roots na plot správne, ale môja_roots priebežne vykresľujú na osi 1 + 0i (alebo x = 1). Napríklad Z-transformácia H (z) = [[1 2 2], [0 1 .8]] udáva nasledujúce póly a nuly (na matlab):
poles =
-1.0000 + 1.0000i
-1.0000 - 1.0000i
zeros =
-0.8000
Mal by to vyzerať takto
ale namiesto toho to, čo dostanem, je
Kde sú moje nuly na -1 + 1i a -1-1i a moje póly sa zdajú byť na úrovni 1 -8i, ale namiesto toho by mali byť na úrovni -8 + 0i
"Som si istý, že je to niečo jednoduché, že mi chýba, ale nemôžem na to prísť." Myslím, že sa to stane len vtedy, keď mám jeden pól alebo jednu nulu.
Má graf (X) vždy predvolenú hodnotu 1 + xi?
odpovede:
1 pre odpoveď č. 1Opravené tým, že sú jasnejšie s reálnymi () a imag ()
plot(real(b_roots),imag(b_roots),"o blue");
plot(real(a_roots),imag(a_roots),"x red");