/ / Matlab Plotting Real a Imaginary Roots - matlab, matlab-obrázok

Matlab Plotovanie reálnych a imaginárnych koreňov - matlab, matlab-figure

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

Správne H (z)

ale namiesto toho to, čo dostanem, je

Nesprávne H (z)

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ď č. 1

Opravené 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");