MATLAB 进行控制系统频域分析一、基于 MATLAB 的线性系统的频域分析基本知识(1)频率特性函数
设线性系统传递函数为: 则频率特性函数为: 由下面的 MATLAB 语句可直接求出 G( jw)
i=sqrt(-1) % 求取-1 的平方根 GW=polyval(num,i*w)
/polyval(den,i*w) 其中(num,den)为系统的传递函数模型
而 w 为频率点构成的向量,点右除(
/)运算符表示操作元素点对点的运算
从数值运算的角度来看,上述算法在系统的极点附近精度不会很理想,甚至出现无穷大值,运算结果是一系列复数返回到变量 GW 中
(2)用 MATLAB 作奈魁斯特图
控制系统工具箱中提供了一个 MATLAB 函数 nyquist( ),该函数能够用来直接求解 Nyquist阵列或绘制奈氏图
当命令中不包含左端返回变量时,nyquist()函数仅在屏幕上产生奈氏图,命令调用格式为: nyquist(num,den) nyquist(num,den,w) 或者 nyquist(G) nyquist(G,w) 该命令将画出下列开环系统传递函数的奈氏曲线: 假如用户给出频率向量 w,则 w 包含了要分析的以弧度/秒表示的诸频率点
在这些频率点上,将对系统的频率响应进行计算,若没有指定的 w 向量,则该函数自动选择频率向量进行计算
w 包含了用户要分析的以弧度/秒表示的诸频率点,MATLAB 会自动计算这些点的频率响应
当命令中包含了左端的返回变量时,即:[re,im,w]=nyquist(G) 或 [re,im,w]=nyquist(G,w) 函数运行后不在屏幕上产生图形,而是将计算结果返回到矩阵 re、im 和 w 中
矩阵 re 和 im 分别表示频率响应的实部和虚部,它们都是由向量 w 中指定的频率点计算得到的
在运行结果中,w 数列的每一个值分