控制工程实验指导书Word格式文档下载.docx
《控制工程实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《控制工程实验指导书Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
2,1,0];
B=[1,0,2;
2,1,1;
1,0,1];
C=A*B
C=
203
102
415
inv(C)
ans=
2-30
-321
-120
用户使用方便:
交互方式,修改调试方便;
称为演算纸型语言工具。
M文件:
Matlab可执行文件,采用文本方式,编程效率高,可读性极强;
命令简单,丰富,易于扩展。
函数名定义几乎与数学描述一样,接近书写计算公式的思维方式,min(),max(),…基本命令包括:
数学函数,矩阵,数值方法,绘图,字符串,文件I/O等数百条;
扩充工具箱:
控制系统,信号处理,神经网络,系统辨识,数据统计,高等数学方法,甚至数理逻辑,通讯等等。
计算的高效、高可靠性
图形、打印、联机帮助等功能齐全
3.Matlab控制系统仿真基础
(1)系统仿真基本概念
仿真:
某些控制系统仿真/设计软件的不足:
使用不方便(EISPACK),调用过程烦琐,维数指定困难,开放性差,辅助功能弱,等等。
Mathematica(符号)和Matlab(工程应用)比较受欢迎。
(2)线性控制系统的传递函数描述
在Matlab中,用num=[12,24,12,20]和den=[24622];
分别表示分子和分母多项式系数,然后用下面的语句就可以表示这个系统:
Sys=tf(num,den)
其中,tf()代表传递函数的形式描述系统。
还可以用零极点形式来描述,语句为:
ss=zpk(sys)
而且传递函数形式和零极点形式之间可以互相转化,语句为:
[z,p,k]=tf2zp(,den)
[num,den]=zp2tf(z,p,k)
传递函数复杂时,应用多项式乘法函数conv()等实现。
例如:
den1=[1,2,2];
den2=[2,3,3,2];
den=conv(den1,den2)
进行部分分式展开:
采用命令:
[z,p,k]=residue(num,den)
反之,利用下列命令:
[num,den]=residue(z,p,k)
线性系统的时间响应分析:
求取阶跃响应的函数调用格式为:
step()
求取脉冲响应的函数调用格式为:
impulse()
任意输入下的仿真函数lsim()的调用格式与上有所不同,因为在此函数的调用时还应给出一个输入表向量,该函数的调用格式为:
lsim(sys,u,t)
式中,u为给定输入构成的列向量,它的元素个数应该和t的个数是一致的。
例如:
t=0:
0.01:
5;
u=sin(u)
lsim(sys,u,t)
(3)控制系统的频域响应
Bode图绘制函数:
bode(SYS),如:
bode(num,den);
bode([1,0],[121]);
绘制出曲线[m,p]=bode(SYS,w),返回数据但不绘制曲线;
如[m,p]=bode(num,den,0:
10)。
在分析系统性能的时候经常涉及到系统的幅值裕量和相位裕量的问题,使用margin()函数可以直接求出系统的幅值裕量和相位裕量,该函数的调用格式为:
[gm,pm,wcg,wcp]=margin(num,den)
可以看出,该函数能直接由系统的传递函数来求取系统的幅值裕量gm和相位裕量pm,,并求出幅值裕量和相位裕量处相应的频率值wcg和wcp。
Nyquist()为频率响应尼奎斯特图
Nichols()为频率响应尼柯尔斯图
(4)控制系统的根轨迹图
根轨迹图命令为;
rlocus(),坐标范围格式为v=[-1010-1010];
axis(v)
(5)系统稳定性分析,可利用matlab在分析系统时域、频域图形中看出系统的稳定性,并可直接求出系统的相位裕量和幅值裕量。
此外还可以求出特征根的分布更直接地判断出系统的稳定性。
即绘制出系统的零极点分布图。
(6)离散系统分析
4.动态仿真工具Simulink
(1)实际工作中控制系统的复杂性,需要一种更简单直接的系统输入方法和分析手段。
图形输入概念:
模块、拖放与联结
模块和子模块:
定义的一些系统元件,子系统,和输入输出设备;
如,噪声输入模块,传递函数系统模块,信号发生器,示波器模块等等。
拖放:
将需要的模块拖放到你定义的工作区内。
联结:
用鼠标拖动,建立联结。
(2)仿真参数选择
开始时间,结束时间,步长选择(变步长,定步长),算法选择(求解微分方程的一些典型算法,如:
龙格库塔法等),精度,等等
5.预习要求:
熟悉Matlab基本函数命令,控制系统工具箱命令,控制系统基本概念
6.实验报告
附录1Matalb常用控制系统仿真命令
基本绘图函数
plot-Linearplot.
loglog-Log-logscaleplot.
semilogx-Semi-logscaleplot.
semilogy-Semi-logscaleplot.
polar-Polarcoordinateplot.
plotyy-Graphswithyticklabelsontheleftandright.
axis-Controlaxisscalingandappearance.
zoom-Zoominandoutona2-Dplot.
grid-Gridlines.
box-Axisbox.
hold-Holdcurrentgraph.
axes-Createaxesinarbitrarypositions.
subplot-Createaxesintiledpositions.
legend-Graphlegend.
title-Graphtitle.
xlabel-X-axislabel.
ylabel-Y-axislabel.
text-Textannotation.
gtext-Placetextwithmouse.
时域分析函数
step-Stepresponse.
impulse-Impulseresponse.
initial-Responseofstate-spacesystemwithgiveninitialstate.
lsim-Responsetoarbitraryinputs.
ltiview-ResponseanalysisGUI.
gensig-GenerateinputsignalforLSIM.
stepfun-Generateunit-stepinput.
频域分析函数
bode-Bodeplotofthefrequencyresponse.
sigma-Singularvaluefrequencyplot.
nyquist-Nyquistplot.
nichols-Nicholschart.
evalfr-Evaluatefrequencyresponseatgivenfrequency.
freqresp-Frequencyresponseoverafrequencygrid.
margin-Gainandphasemargins.
附录2参考书目
1.控制系统计算机辅助设计,薛定宇,清华大学出版社,1996;
2.MATLAB语言,张培强,中国科学技术大学出版社,1995;
实验一控制系统时域分析
1、一阶系统阶跃响应
分别取以下几组参数,求系统阶单位阶跃响应上升时间和调整时间。
试说明系统取不同的时间常数,对系统的上升时间和调整时间的影响。
1).K=1,T=10;
2).K=1,T=1;
3).K=1,T=0.1
2、二阶系统阶跃响应
分别就T=1和T=0.1,分别取0,0.5,1,10时系统阶跃响应的最大超调量、峰值时间、调整时间、振荡次数。
3、自构造高阶系统,进行数学模型转换并分析其时域特性。
4、绘制各典型环节的单位阶跃响应曲线。
实验二控制系统频域分析
分别取以下几组参数,分别绘制系统尼氏图和伯德图,并求出系统稳定裕度。
2).K=1,T=10;
分别就T=1和T=0.1,分别取0,0.5,1,10时分别绘制系统尼氏图和伯德图,并求出系统稳定裕度。
3、自构造高阶系统,绘制系统尼氏图和伯德图并分析其动态性能及稳定性。
4、绘制各典型环节的尼奎斯特曲线和伯德曲线。
实验三系统框图输入与仿真
1、自选一系统框图,利用Simulink仿真工具进行控制系统框图模型建立。
2、利用Simulink进行数字仿真
。