Използване на кода за plot_pz ([полюси], [нули])
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 + 0
Сигурен съм, че е нещо просто, което ми липсва, но не мога да го разбера. Мисля, че това се случва само когато имам един полюс или единична нула.
Дали парцел (X) винаги по подразбиране за нанасяне 1 + XI?
Отговори:
1 за отговор № 1Фиксирана, като е по-ясна с реални () и imag ()
plot(real(b_roots),imag(b_roots),"o blue");
plot(real(a_roots),imag(a_roots),"x red");