教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

matlab在自控原理中的应用(10)

来源:网络收集 时间:2026-07-30
导读: 绘图时的横坐标是以对数分度的。为了指定频率的范围,可采用以下命令格式: logspace(d1,d2) (62) 或 logspace(d1,d2,n) (63) 公式(62)是在指定频率范围内按对数距离分成50等分的,即在两个十进制数?1?10和

绘图时的横坐标是以对数分度的。为了指定频率的范围,可采用以下命令格式: logspace(d1,d2) (62) 或

logspace(d1,d2,n) (63)

公式(62)是在指定频率范围内按对数距离分成50等分的,即在两个十进制数?1?10和

2d1?2?10d之间产生一个由50个点组成的分量,向量中的点数50是一个默认值。例如

要在?1?0.1弧度/秒与?2?100弧度/秒之间的频区画伯德图,则输入命令时,

- 27 -

返回到工作d1?log10(?1),d2?log10(?2)在此频区自动按对数距离等分成50个频率点,空间中,即

w=logspace(-1,2)

要对计算点数进行人工设定,则采用公式(63)。例如,要在?1?1与?2?1000之间产生100个对数等分点,可输入以下命令:

w=logspace(0,3,100)

在画伯德图时,利用以上各式产生的频率向量w,可以很方便地画出希望频率的伯德图。

由于伯德图是半对数坐标图且幅频图和相频图要同时在一个绘图窗口中绘制,因此,要用到半对数坐标绘图函数和子图命令。

(1) 对数坐标绘图函数

利用工作空间中的向量x,y绘图,要调用plot函数,若要绘制对数或半对数坐标图,只需要用相应函数名取代plot即可,其余参数应用与plot完全一致。命令公式有:

semilogx(x,y,s) (64)

上式表示只对x轴进行对数变换,y轴仍为线性坐标。

semilogy(x,y,s) (65)

上式是y轴取对数变换的半对数坐标图。

Loglog(x,y,s) (66)

上式是全对数坐标图,即x轴和y 轴均取对数变换。 (2) 子图命令

MATLAB允许将一个图形窗口分成多个子窗口,分别显示多个图形,这就要用到subplot()函数,其调用格式为:

subplot(m,n,k)

该函数将把一个图形窗口分割成m×n个子绘图区域,m为行数,n为列数,用户可以通过参数k调用各子绘图区域进行操作,子图区域编号为按行从左至右编号。对一个子图进行的图形设置不会影响到其它子图,而且允许各子图具有不同的坐标系。例如,subplot(4,3,6)则表示将窗口分割成4×3个部分。在第6部分上绘制图形。 MATLAB最多允许9×9的分割。

例21 给定单位负反馈系统的开环传递函数为:

G(s)?10(s?1)

s(s?7)试画出伯德图。

利用以下MATLAB程序,可以直接在屏幕上绘出伯德图如图20。 >> num=10*[1,1]; den=[1,7,0]; bode(num,den) grid

title(′Bode Diagram of G(s)=10*(s+1)/[s(s+7)] ′) 该程序绘图时的频率范围是自动确定的,从0.01弧度/秒到30弧度/秒,且幅值取分贝值,?轴取对数,图形分成2个子图,均是自动完成的。

- 28 -

图20 自动产生频率点画出的伯德图

如果希望显示的频率范围窄一点,则程序修改为: >> num=10*[1,1]; den=[1,7,0];

w=logspace(-1,2,50); % 从0.1至100,取50个点。 [mag, phase, w]=bode(num, den, w);

magdB=20*log10(mag) % 增益值转化为分贝值。

% 第一个图画伯德图幅频部分。 subplot(2,1,1);

semilogx(w,magdB, ′-r′) % 用红线画 grid

title(′Bode Diagram of G(s)= 10*(s+1)/[s(s+7)] ′) xlabel(1Frequency(rad/s)1) ylabel(1Gain(dB)1)

% 第二个图画伯德图相频部分。 subplot(2,1,2);

semilogx(w,phase, 1-r1); grid

xlabel(1Frequency(rad/s)1) ylabel(′Phase(deg) ′)

- 29 -

修改程序后画出的伯德图如21所示。

图21 用户指定的频率点画出的伯德图

4. 用MATLEB求取稳定裕量

同前面介绍的求时域响应性能指标类似,由MATLAB里bode()函数绘制的伯德图也可以采用游动鼠标法求取系统的幅值裕量和相位裕量。例如,我们可以在图20的幅频曲线上按住鼠标左键游动鼠标,找出纵坐标(Magnitude)趋近于零的点,从提示框图中读出其频率约为7.25dB。然后在相频曲线上用同样的方法找到横坐标(Frequence)最接近7.25dB的点,可读出其相角为-53.9度,由此可得,此系统的相角裕量为126.1度。幅值裕量的计算

方法与此类似。

此外,控制系统工具箱中提供了margin()函数来求取给定线性系统幅值裕量和相位裕量,该函数可以由下面格式来调用:

[Gm, Pm, Wcg, Wcp]=margin(G); (67)

可以看出,幅值裕量与相位裕量可以由LTI对象G求出,返回的变量对(Gm, Wcg)为幅值裕量的值与相应的相角穿越频率,而(Pm, Wcp)则为相位裕量的值与相应的幅值穿越频率。若得出的裕量为无穷大,则其值为Inf,这时相应的频率值为NaN(表示非数值),Inf和NaN均为MATLAB软件保留的常数。

如果已知系统的频率响应数据,我们还可以由下面的格式调用此函数。

[Gm, Pm, Wcg, Wcp]=margin(mag, phase, w);

其中(mag, phase, w)分别为频率响应的幅值、相位与频率向量。

例22 已知三阶系统开环传递函数为:

G(s)?7 322(s?2s?3s?2)利用下面的MATLAB程序,画出系统的奈氏图,求出相应的幅值裕量和相位裕量,并求出闭环单位阶跃响应曲线。

- 30 -

…… 此处隐藏:644字,全部文档内容请下载后查看。喜欢就下载吧 ……
matlab在自控原理中的应用(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/564234.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)