Анализ устойчивости системы, характеризуемой передаточной функцией - MATLAB

У меня также есть проблема, которую нужно решить в области теории систем. Я решил математическую часть, но теперь мне нужно найти виртуальный метод анализа устойчивости системы, характеризуемой передаточной функцией. Поэтому я выбрал матлаб.

Мне нужно графически отобразить диаграмму Найквиста, полюса и нули передаточной функции.

Функция передачи:

введите здесь описание изображения

Код для диаграммы Найквиста выглядит следующим образом:

num=[1 1]
den=[1 1 4 1 2]
G=tf(num,den)
plot(nyquist(G))
grid on

Код для представления полюсов и нулей передаточной функции выглядит следующим образом:

num=[1 1]
den=[1 1 4 1 2]
G=tf(num,den)
plot(pzmap(G))
grid on

Как я мог увидеть на одном графике обе функции или одну под другой?

заранее спасибо


person AlexSD    schedule 18.08.2020    source источник
comment
Привет! Вы сами проводили какие-то исследования в Интернете? Это довольно распространенная вещь, которую можно сделать с Matlab. Вы можете построить две линии на одном рисунке, используя удержание функциональность. Нанесение фигур друг под другом можно выполнить с помощью подграфика.   -  person Nathan    schedule 18.08.2020
comment
Конечно, но это не то, что я хочу...   -  person AlexSD    schedule 19.08.2020
comment
Как я мог увидеть на одном графике обе функции или одну под другой? Предполагает, что вам нужна фигура с двумя линиями/графиками, построенная на одной или двух субфигурах. Может быть, вы можете уточнить, что вы ищете   -  person Nathan    schedule 19.08.2020


Ответы (1)


Хорошо, теперь, кажется, я знаю, чего ты хочешь. В качестве обратной связи, не могли бы вы в следующий раз включить в описание, что nyquist() и pzmap создают свою фигурку. Поэтому было непонятно, в чем проблема.

В любом случае из функций nyquist() и pzmap() вы можете получить необходимую информацию, чтобы построить ее на другом графике, как указано в соответствующей документации (nyquist, pzmap ). Для w я выбрал вектор так, чтобы вся форма Найквиста была достаточно видна.

num=[1 1];
den=[1 1 4 1 2];
G=tf(num,den);
w = linspace(-2*pi,2*pi,1e4);
[re,im] = nyquist(G,w);
[p,z] =pzmap(G);

figure();
plot(squeeze(re),squeeze(im));
hold on;
plot(real(p),imag(p),'*',real(z),imag(z),'o');
grid on

Результирующая цифра:

введите здесь описание изображения

person Nathan    schedule 19.08.2020
comment
Да, это очень хорошо. Спасибо большое. Я не очень хорошо знаю матлаб, поэтому и спросил. - person AlexSD; 19.08.2020