求p,z)
? pzmap(a,b,c,d)或pzmap(num,den):不带输出参数项,则直接在s复平面上绘制出系统对应的零极点位置,极点用×表示,零点用o表示。(绘图,不求p,z)
? pzmap(p,z):根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用×表示,零点用o表示。 例子 clear
num=[0.0001 0.0218 1.0436 9.3599]; den=[0.0006 0.0268 0.06365 6.2711]; [p,z]=pzmap(num,den) %求p,z值 pzmap(num,den) %绘图,绘出图纸 grid on title('零极点图') xlabel('实轴') ylabel('虚轴')
clear
num=[0.0001 0.0218 1.0436 9.3599]; den=[0.0006 0.0268 0.06365 6.2711]; sys=tf(num,den); pzmap(sys) [p,z]=pzmap(sys) title('零极点图') xlabel('实轴') ylabel('虚轴') 图与上面相同
17. rlocus()
MATLAB提供了函数rlocus()来绘制系统的根轨迹图,其用法如下:
? rlocus(a,b,c,d)或者rlocus(num,den):根据SISO开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。开环增益的值从零到无穷大变化。
? rlocus(a,b,c,d,k)或rlocus(num,den,k): 通过指定开环增益k的变化范围来绘制系统的根轨迹图。
? r=rlocus(num,den,k) 或者[r,k]=rlocus(num,den) :不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k ,返回闭环系统特征方程1+k*num(s)/den(s)=0的根r,它有length(k)行,length(den)-1列,每行对应某个k值时的所有闭环极点。或者同时返回k与r。
? 若给出传递函数描述系统的分子项num为负,则利用rlocus函数绘制的是系统的零度根轨迹。(正反馈系统或非最小相位系统)
例子 clear
num=[0.0001 0.0218 1.0436 9.3599]; den=[0.0006 0.0268 0.06365 6.2711]; sys=tf(num,den); rlocus(sys) title('根轨迹图') xlabel('实轴') ylabel('虚轴')