应用MATLAB进行控制系统的频域分析,第章用MATLAB进行控制系统频域分析.doc

第章用MATLAB进行控制系统频域分析

第5章 用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数列的每一个值分别对应re、im数列的每一个值。

例5.1 考虑二阶典型环节:

试利用MATLAB画出奈氏图。

利用下面的命令,可以得出系统的奈氏图,如图5-1所示。

>> num=[0,0,1];

den=[1,0.8,1];

nyquist(num,den)

% 设置坐标显示范围

v=[-2,2,-2,2];

axis(v)

grid

图5-1 二阶环节奈氏图

title(′Nyquist Plot of G(s)=1/(s^2+0.8s+1) ′)

(3)用MATLAB作伯德图

控制系统工具箱里提供的bode()函数可以直接求取、绘制给定线性系统的伯德图。

当命令不包含左端返回变量时,函数运行后会在屏幕上直接画出伯德图。如果命令表达式的左端含有返回变量,bode()函数计算出的幅值和相角将返回到相应的矩阵中,这时屏幕上不显示频率响应图。命令的调用格式为:

[mag,phase,w]=bode(num,den)

[mag,phase,w]=bode(num,den,w)

[mag,phase,w]=bode(G)

[mag,phase,w]=bode(G,w)

矩阵mag、phase包含系统频率响应的幅值和相角,这些幅值和相角是在用户指定的频率点上计算得到的。用户如果不指定频率w,MATLAB会自动产生w向量,并根据w向量上各点计算幅值和相角。这时的相角是以度来表示的,幅值为增益值,在画伯德图时要转换成分贝值,因为分贝是作幅频图时常用单位。可以由以下命令把幅值转变成分贝:

magdb=20﹡log10(ma

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值