Этот пример показывает, как исследовать положения полюсов и нулей динамических систем и графически использование pzplot
и численно использование pole
и zero
.
Исследование положений полюсов и нулей может быть полезно для задач, таких как анализ устойчивости или идентифицирующий почти отмену нулевых полюсом пар для образцового упрощения. Этот пример сравнивает две системы с обратной связью, которые имеют тот же объект и различные контроллеры.
Создайте модели динамической системы, представляющие две системы с обратной связью.
G = zpk([],[-5 -5 -10],100); C1 = pid(2.9,7.1); CL1 = feedback(G*C1,1); C2 = pid(29,7.1); CL2 = feedback(G*C2,1);
У контроллера C2
есть намного более высокое пропорциональное усиление. В противном случае две системы с обратной связью CL1
и CL2
являются тем же самым.
Графически исследуйте положения полюсов и нулей CL1
и CL2
.
pzplot(CL1,CL2) grid
pzplot
строит положения полюсов и нулей на комплексной плоскости как x
и метки o
, соответственно. Когда вы обеспечиваете многоуровневые модели, pzplot
строит полюса и нули каждой модели в различном цвете. Здесь, там полюса и нули CL1
являются синими, и те из CL2
являются зелеными.
График показывает, что все полюса CL1
находятся в левой полуплоскости, и поэтому CL1
стабилен. От радиальных маркировок сетки на графике можно считать, что затухание колеблющихся (комплексных) полюсов - приблизительно 0,45. График также показывает, что CL2
содержит полюса в правой полуплоскости и поэтому нестабилен.
Вычислите численные значения положений полюсов и нулей CL2
.
z = zero(CL2); p = pole(CL2);
zero
и pole
возвращают вектор-столбцы, содержащие нуль и местоположения полюса системы.