发布时间 : 星期六 文章《自动控制原理》MATLAB实验指导书 - 图文更新完毕开始阅读e2769c8a64ce0508763231126edb6f1aff00711d
作为系统综合的实用工具,在系统设计中发挥作用。 三、实验内容
1.请绘制下面系统的根轨迹曲线
G(s)?K
s(s2?2s?2)(s2?6s?13)G(s)?K(s?12) 2(s?1)(s?12s?100)(s?10)G(s)?K(0.05s?1)
s(0.0714s?1)(0.012s2?0.1s?1)同时得出在单位阶跃负反馈下使得闭环系统稳定的K值的范围。
2. 在系统设计工具rltool界面中,通过添加零点和极点方法,试凑出上述系统,并观察增加极、零点对系统的影响。 四、实验报告
1.根据内容要求,写出调试好的MATLAB语言程序,及对应的结果。 2. 记录显示的根轨迹图形,根据实验结果分析根轨迹的绘制规则。
3. 根据实验结果分析闭环系统的性能,观察根轨迹上一些特殊点对应的K值,确定闭环系统稳定的范围。
4.根据实验分析增加极点或零点对系统动态性能的影响。 5.写出实验的心得与体会。 五、预习要求
1. 预习实验中的基础知识,运行编制好的MATLAB语句,熟悉根轨迹的绘制函数rlocus()及分析函数rlocfind(),sgrid()。
2. 预习实验中根轨迹的系统设计工具rltool,思考该工具的用途。
3. 掌握用根轨迹分析系统性能的图解方法,思考当系统参数K变化时,对系统稳定性的影响。
4.思考加入极点或零点对系统动态性能的影响。
25
实验五 线性系统的频域分析
一、实验目的
1.掌握用MATLAB语句绘制各种频域曲线。 2.掌握控制系统的频域分析方法。 二、基础知识及MATLAB函数
频域分析法是应用频域特性研究控制系统的一种经典方法。它是通过研究系统对正弦信号下的稳态和动态响应特性来分析系统的。采用这种方法可直观的表达出系统的频率特性,分析方法比较简单,物理概念明确。
1.频率曲线主要包括三种:Nyquist图、Bode图和Nichols图。
1)Nyquist图的绘制与分析
MATLAB中绘制系统Nyquist图的函数调用格式为:
nyquist(num,den) 频率响应w的范围由软件自动设定 nyquist(num,den,w) 频率响应w的范围由人工设定
[Re,Im]= nyquist(num,den) 返回奈氏曲线的实部和虚部向量,不作图
2s?6例4-1:已知系统的开环传递函数为G(s)?3,试绘制Nyquist图,2s?2s?5s?2并判断系统的稳定性。
num=[2 6]; den=[1 2 5 2];
[z,p,k]=tf2zp(num,den); p
nyquist(num,den)
极点的显示结果及绘制的Nyquist图如图4-1所示。由于系统的开环右根数P=0,系统的Nyquist曲线没有逆时针包围(-1,j0)点,所以闭环系统稳定。
p =
-0.7666 + 1.9227i -0.7666 - 1.9227i -0.4668
图4-1 开环极点的显示结果及Nyquist图
26
若上例要求绘制??(10?2,103)间的Nyquist图,则对应的MATLAB语句为:
num=[2 6]; den=[1 2 5 2];
w=logspace(-1,1,100); 即在10-1和101之间,产生100个等距离的点
nyquist(num,den,w) 2)Bode图的绘制与分析
系统的Bode图又称为系统频率特性的对数坐标图。Bode图有两张图,分别绘制开环频率特性的幅值和相位与角频率?的关系曲线,称为对数幅频特性曲线和对数相频特性曲线。
MATLAB中绘制系统Bode图的函数调用格式为:
bode(num,den) 频率响应w的范围由软件自动设定 bode(num,den,w) 频率响应w的范围由人工设定
[mag,phase,w]=bode(num,den,w) 指定幅值范围和相角范围的伯德图
例4-2:已知开环传递函数为G(s)?30(0.2s?1),试绘制系统的伯德图。 2s(s?16s?100)num=[0 0 15 30]; den=[1 16 100 0];
w=logspace(-2,3,100);
bode(num,den,w) grid
绘制的Bode图如图4-2(a)所示,其频率范围由人工选定,而伯德图的幅值范围和
相角范围是自动确定的。当需要指定幅值范围和相角范围时,则需用下面的功能指令:
[mag,phase,w]=bode(num,den,w)
图4-2(a) 幅值和相角范围自动确定的Bode图
图4-2(b) 指定幅值和相角范围的Bode图
27
mag,phase是指系统频率响应的幅值和相角,由所选频率点的w值计算得出。其中,幅值的单位为dB,它的算式为magdB=20lg10(mag)。
指定幅值范围和相角范围的MATLAB调用语句如下,图形如图4-2(b)所示。
num=[0 0 15 30]; den=[1 16 100 0];
w=logspace(-2,3,100);
[mag,phase,w]=bode(num,den,w); %指定Bode图的幅值范围和相角范围 subplot(2,1,1); %将图形窗口分为2*1个子图,在第1个子图处绘制图形
semilogx(w,20*log10(mag)); %使用半对数刻度绘图,X轴为log10刻度,Y轴为线性刻度
grid on
xlabel(‘w/s^-1’); ylabel(‘L(w)/dB’);
title(‘Bode Diagram of G(s)=30(1+0.2s)/[s(s^2+16s+100)]’);
subplot(2,1,2);%将图形窗口分为2*1个子图,在第2个子图处绘制图形
semilogx(w,phase);
grid on
xlabel(‘w/s^-1’); ylabel(‘?(0)’);
注意:半Bode图的绘制可用semilgx函数实现,其调用格式为semilogx(w,L),其中L=20*log10(abs(mag))。
3)Nichols图的绘制
在MATLAB中绘制Nichols图的函数调用格式为:
[mag,phase,w]=nichols(num,den,w) Plot(phase,20*log10(mag))
例4-3:单位负反馈的开环传递函数为G(s)?10,绘制Nichols图。
s3?3s2?9s对应的MATLAB语句如下,所得图形如图4-3所示:
num=10; den=[1 3 9 0];
w=logspace(-1,1,500);
[mag,phase]=nichols(num,den,w); plot(phase,20*log10(mag))
ngrid %绘制nichols图线上的网格
28