控制系统CAD复习大纲课程名称控制系统适用专业级电气.docx
《控制系统CAD复习大纲课程名称控制系统适用专业级电气.docx》由会员分享,可在线阅读,更多相关《控制系统CAD复习大纲课程名称控制系统适用专业级电气.docx(30页珍藏版)》请在冰豆网上搜索。
控制系统CAD复习大纲课程名称控制系统适用专业级电气
《控制系统CAD》复习大纲
课程名称:
控制系统
适用专业:
2016级电气自动化技术(专科业余函授)2016级电气自动化技术业余函授(专科)
辅导教材:
《控制系统CAD》张晋编著机工出版
题型:
一、填空20分(每孔1分,共20分)
二、简答题30分(每题6分,共30分)
三、编程题30分(每题6分,共30分)
四、综合题20分(每题10分,共20分)
1、什么是控制系统的超前校正设计?
有何特点?
主要用于那些场合?
答:
超前校正设计是指利用校正器对数幅频曲线具有正斜率的区段及其相频曲线具有正相移区段的系统校正设计。
这种校正设计方法的突出特点是校正后系统的剪切频率比校正前的大,系统的快速性能得到提高。
相位超前校正主要用于改善闭环系统的动态特性,对于系统的稳态精度影响较小。
一、
求解线性方程组:
写出Matlab命令并写出运行结果。
a=[1,2,-3.6;2,-5,0.25;5,10.68,7.7];
b=[11.9;-25.3;300.8];
a\b
ans=18.5795
12.9441
9.0466
二、编写一个M文件
分别采用图形保持命令和同一个plot命令实现在一个图上绘制函数曲线
,
,0≤t≤10,取t的步长为0.01,并添加网格线,要求在命令平台上显示曲线
的最大值和最小值。
提示:
最大值函数为max,最小值函数为min。
解法一:
t=0:
0.01:
10;
y1=sin(t);
y2=exp(-0.5*t).*sin(t);
y3=cos(t);
plot(t,y1)
holdon
plot(t,y2)
holdon
plot(t,y3)
grid;
holdoff
y2max=max(y2)
y2min=min(y2)
解法二:
t=0:
0.01:
10;
y1=sin(t);
y2=exp(-0.5*t).*sin(t);
y3=cos(t);
plot(t,y1,t,y2,t,y3);
grid;
y2max=max(y2)
y2min=min(y2)
》y2max=0.5142
y2min=-0.1069
三、运行M文件程序,查看运行结果,并逐条解释语句的作用
x=0:
0.01:
12;%设置自变量x的数值范围0~12,步长0.01
y1=sin(x)+cos(x);%定义函数y1的表达式
y2=1-cos(2*x);%定义函数y2的表达式
y3=exp(-0.2*x).*cos(2*x);%定义函数y3的表达式
plot(x,y1,'r--',x,y2,'g-',x,y3,'b:
');
%在同一图形窗口绘制函数y1、y2和y3的图形,其中函数y1的图形为红色点划线,
%函数y2的图形为绿色实线,函数y3的图形为蓝色虚线。
axis([0,12,-1.5,3]);%定义数轴X的数值范围为0~12,数轴Y的数值范围为-1.5~3
title('一图多线');%加图形标题“一图多线”
xlabel('x轴');%加X轴标注
ylabel('y轴');%加Y轴标注
gtext('曲线y3=e^{-0.2x}cos(2x)');%在鼠标所指定位置放置函数y3的表达式
legend('y1函数曲线','y2函数曲线','衰减余弦曲线');%加图例
四、控制系统数学模型的Matlab描述
1.一个传递函数模型
写出用传递函数模型(TF模型)表示的命令。
num=15*conv([12.6],[16.312.8]);
den=conv(conv(conv([15],[15]),[1305]),[31]);
sys=tf(num,den)
2.假设系统的零极点模型为
写出用零极点模型(ZPK模型)表示的命令。
k=35;
z=[-5;-2+3*j;-2-3*j];
p=[-sqrt(13)-sqrt(22)*j;-sqrt(13)+sqrt(22)*j;6-1.87*j;6+1.87*j];
sys=zpk(z,p,k)
3.双输入双输出系统的状态方程表示为
u,
写出用状态空间模型(SS模型)表示的命令。
A=[0,1,0;0,-5,4;-1,-1,-3];
B=[0,0;2,0;0,1];
C=[1,0,0;0,0,1];
D=zeros(2,2);
sys=ss(A,B,C,D)
4.已知控制系统的闭环传递函数为
写出用部分分式展开式表示的命令。
num=[91,-52,3.5,-11,52];
den=[1,15,26,73,31,215];
[r,p,k]=residue(num,den);
[r';p']
五、编写M文件程序求出传递函数
已知前向通道传递函数和负反馈传递函数分别为
,
建立M文件程序求整个系统的闭环传递函数模型。
n1=[10];
d1=conv([1,0,0],conv([1,2],[1,5]));
sys1=tf(n1,d1);
n2=conv([13.6],[1,8]);
d2=conv([1,13],[1,15]);
sys2=tf(n2,d2);
sys=feedback(sys1,sys2)
Transferfunction:
10s^2+280s+1950
-----------------------------------------------------------
s^6+35s^5+401s^4+1645s^3+1950s^2+136s+1088
六、Simulink仿真题
已知单位负反馈系统前向通道的传递函数为
,试利用Simulink仿真求取系统的单位阶跃响应。
画出Simulink模块结构图,并画出单位阶跃响应仿真草图。
七、求取系统的脉冲响应曲线
已知系统的闭环传递函数为
编写M文件程序求取系统0~8秒的脉冲响应曲线,画出响应曲线的草图,图形标题为“系统的脉冲响应曲线”,并求取脉冲响应的最大值。
解:
num=[16];
den=[13.216];
sys=tf(num,den);
impulse(sys,0:
0.01:
8)
title('系统的脉冲响应曲线')
grid;
[y,t,x]=impulse(sys,0:
0.01:
8);
a=max(y)
》a=2.4115
八、求取系统的一般输入响应曲线
已知系统传递函数和输入信号分别如下
,
试绘制系统的响应曲线,要求0≤t≤5,图形标题为“系统的一般响应曲线”
编写M文件程序,并画出响应曲线草图。
解:
t=0:
0.01:
5;
u=exp(-0.5*t).*cos(3*t);
n=[10];
d=[1310];
sys=tf(n,d);
lsim(sys,u,t)
grid;
title('系统的一般响应曲线')
九、编写M文件仿真程序
已知三个系统的传递函数分别为
通过子图绘制命令分别绘制系统的单位阶跃响应曲线。
要求系统1的仿真终止时间为5.5s,系统2的仿真时间由系统自动生成,系统3的仿真曲线时间段为[0.5,3.8]。
建立M文件仿真程序,运行程序查看结果,并画出单位阶跃响应曲线草图。
z=[-2+2j;-2-2j];p=[-1;-3;-5;-7];k=12;sys1=zpk(z,p,k);
n2=[539];d2=[1382639];sys2=tf(n2,d2);
sys3=zpk([-1;-3],[-2;-5;-8],[15])*tf([35269],[167869]);
subplot(131),step(sys1,5.5);
subplot(132),step(sys2);
subplot(133),step(sys3,0.5:
0.01:
3.8);
一十、求取系统的一般输入响应曲线
已知三系统传递函数和输入信号分别如下
,
,
,
试通过子图绘制命令绘制系统的响应曲线,要求0≤t≤10。
编写M文件程序,并画出响应曲线草图。
n1=[15];d1=[161115];sys1=tf(n1,d1);
n2=[25];d2=[1625];sys2=tf(n2,d2);
n3=[2];d3=[11];sys3=tf(n3,d3);
t=0:
0.01:
10;
u1=(t+1).*exp(-0.3*t);
u2=sin(2*t).*exp(-0.3*t).*sqrt(t+1);
u3=sin(t);
subplot(1,3,1);lsim(sys1,u1,t);
subplot(1,3,2);lsim(sys2,u2,t);
subplot(1,3,3);lsim(sys3,u3,t);
十一、已知系统的根轨迹方程为
1.绘制系统的根轨迹;
2.绘制5≤k≤8的系统根轨迹图;
3.K=7.5时系统的4个特征根分别是多少?
4.设k值分别为2.6,3.9,5.2,11.7,30,求取每一个k值所对应的4个根。
解:
1、Matlab程序如下:
num=[1,1,10];
den=conv([1,2,0],conv([1,4],[1,8]));
rlocus(num,den)
2、Matlab程序如下:
num=[1,1,10];
den=conv([1,2,0],conv([1,4],[1,8]));
rlocus(num,den,5:
0.01:
8)
3、若要得到指定增益k值对应的r值则输入:
num=[1,1,10];
den=conv([1,2,0],conv([1,4],[1,8]));
[r,k]=rlocus(num,den,7.5)
结果如下:
r=-6.4667+2.5158i-6.4667-2.5158i-0.5333+1.1284i-0.5333-1.1284i
k=7.5000
4、num=[1,1,10];
den=conv([1,2,0],conv([1,4],[1,8]));
[r,k]=rlocus(num,den,[2.6,3.9,5.2,11.7,30])
结果如下:
r=
-6.2597+0.4696i-6.2597-0.4696i-0.7403+0.3344i-0.7403-0.3344i
-6.3325+1.4016i-6.3325-1.4016i-0.6675+0.6939i-0.6675-0.6939i
-6.3895+1.8976i-6.3895-1.8976i-0.6105+0.8932i-0.6105-0.8932i
-6.5626+3.3144i-6.5626-3.3144i-0.4374+1.4047i-0.4374-1.4047i
-6.7327+5.4278i-6.7327-5.4278i-0.2673+1.9849i-0.2673-1.9849i
k=2.60003.90005.200011.700030.0000
十二、已知系统的根轨迹方程为
绘制系统的根轨迹,编程求取当一个特征根为-0.3时,系统的根轨迹增益k为多少?
另一个特征根为多少?
解:
程序如下:
num=[1,2.2];
den=conv([1,0],[1,1.1]);
rlocus(num,den)
[k,poles]=rlocfind(num,den,-0.3)
根轨迹图如下图所示,运行结果如下:
k=0.1263
poles=-0.9263-0.3000
因此:
当一个特征根为-0.3时,系统的根轨迹增益k为0.1263,另一个特征根为-0.9263。
十三、已知正反馈系统的根轨迹方程为
1.绘制系统根轨迹并分析系统的稳定性
2.根据系统设计需要一个特性根为-0.5,求另外三个根及所对应的根轨迹增益k值。
解:
程序如下
num=[12];
den=conv([121],conv([13],[15]));
rlocus(num,-den)
[k,poles]=rlocfind(num,-den,-0.5)
运行结果如下
k=1.8750
poles=-4.7977-3.2667-1.4356-0.5000
分析:
由图可知,根轨迹与虚轴交点所对应的根轨迹增益为7.5,当0十四、已知单位反馈系统的开环传递函数为
b的变化范围为[0,+∞),试绘制系统的闭环根轨迹,分析使闭环系统稳定的b的范围。
解:
系统闭环传递函数
特征方程为D(s)=
即有
令k=0.2b,变化范围为[0,+∞),则根轨迹方程为
编写MATLAB程序:
num=1;
den=[110.20];
rlocus(num,den)
运行结果如下图所示。
由图可知,系统稳定的k的范围为[0,0.2),因为k=0.2b,所以系统稳定的b的范围为[0,1)。
Huawei-wBr204g_Li
一、填空题
1.按控制信号传递的路径不同,可将控制系统划分为:
、
和三种控制方式,其中控制精度最高的是控制方式。
(按给定值操纵的开环控制、按偏差调节的闭环(反馈)控制、带补偿调节的复合控制、带补偿调节的复合控制)
2、控制系统的仿真依据模型的种类不同,可分为、和三种形式。
(物理仿真、数学仿真、混合仿真)
3、MATLAB的变量名必须以开始,其后可以是任何、
和的组合。
MATLAB区分字母的,同一变量名中字母的大小写会被认为是不同的变量
(英文字母、字母、数字、下划线、大小写)
4、MATLAB提供三种常用变量,即、和。
(局部变量、全局变量、特殊变量)
5、说明以下指令的功能:
(1)figure:
(2)hold:
(3)plot:
(4)grid:
(创建图形窗口、保留现有图形、绘制曲线、添加网格线)
6、若要分别生成初始值为4,终止值为18,步长为4的数组A及元素个数为4的数组B,在MATLAB命令窗口中应输入如下指令>>A=,>>B=。
([4:
4:
18]、linspace(4,18,3))
7、已知A=[123;567;91011],则A(:
[13])=。
(13
57
911)
8、已知A=[236;197],B=[054;362],则A>B=,A
(101(010
011)100)
9、在MATLAB的命令窗口中键入命令可打开Simulink图形化设计环境。
(simulink)
10、引出信号支线的方法是按住鼠标键,在需要增加分支的地方拉出引线;也可在按下键的同时,在分支点按住鼠标键拉出引线。
(右,Ctrl,左)
11、已知单位负反馈系统的开环传递函数为:
,若要完成以下的系统仿真分析:
(1)利用Simulink求系统的单位阶跃响应;
(2)用示波器显示仿真结果;(3)将结果输出到MATLAB的工作空间,则需要用到的模块有Sources库的模块、Continuous库的模块、MathOperations库的模块、Sinks库的模块和模块。
(Step,TransferFcn,Sum,ToWorkspace,Scope)
12、说明以下函数的功能:
(1)tf2zp():
(2)zp2tf():
(3)tf2ss():
(4)ss2tf():
(5)zp2ss():
(6)ss2zp():
(传递函数多项式模型转换为零极点模型、零极点模型转换为传递函数多项式模型、传递函数多项式模型转换为状态空间模型、状态空间模型转换为传递函数多项式模型、零极点模型转换为状态空间模型、状态空间模型转换为零极点模型)
二、简答题
1.简述控制系统CAD的发展历程,并简单分析控制系统CAD和机械CAD或建筑CAD的相同点和区别。
2.什么是控制系统的计算机仿真?
控制系统的计算机仿真是利用计算机对控制系统进行数学仿真。
数学仿真就是根据实际系统中各个变化量之间的关系,构建出系统的数学模型,并利用此模型进行分析研究。
数学仿真的关键在于数学模型的构建和求解。
数学仿真具有经济、方便和灵活的优点,它的主要工具是计算机,故又称计算机仿真。
而控制系统的计算机仿真就是以控制系统的数学模型为基础,借助计算机对控制系统的特性进行实验研究。
3、MATLAB软件系统主要有哪些部分组成?
答:
MATLAB系统主要由开发环境、数学函数库、MATLAB语言、MATLAB图形处理系统及外部应用程序接口组成。
4、启动MATLAB后,默认用户界面中包含哪些窗口元素?
答:
启动MATLAB程序后,进入MATLAB工作界面,包括用于管理文件的工具条(图形用户界面)、命令窗口(CommandWindow)、当前文件夹窗口(CurrentFolder)、工作空间(Workspace)及历史命令窗口(CommandHistory)等。
5、用哪些方法可以启动MATLAB的帮助系统?
使用help命令和lookfor命令有什么区别?
答:
点击桌面工具栏上的帮助按钮
,或在命令窗口中键入helpbrowser命令,或使用任何工具栏上的help菜单,都可打开帮助浏览器。
help:
在命令窗口中键入“help函数名”,将显示指定函数的M文件说明和语法,对于MDL文件,将显示模型的描述;
lookfor:
在命令窗口中键入“lookfor关键字”,将按关键字搜索相关的M文件。
6、如果文件保存在D:
\MyDocuments\MyWork中,而当前文件夹路径为C:
\MATLAB,如何操作才能执行该文件?
答:
选择菜单中的〖File〗→〖SetPath〗菜单项将D:
\MyDocuments\MyWork目录加入到MATLAB的搜索路径中,就可执行文件。
7、什么是M脚本文件?
什么是M函数文件?
两者之间有什么区别?
答:
脚本文件也称为命令文件,是由一系列MATLAB的命令行组成,既没有参数的输入也不返回输出参数。
MATLAB软件中提供了很多工具箱,工具箱中的每一个函数其实就是一个M函数文件。
M函数文件可以接受参数输入,并能返回输出参数。
脚本文件与函数文件的主要区别在于函数文件允许通过数值进行参数传递,函数文件使用局部变量而不是全局变量,函数文件的第一行必须是“函数声明行”,以关键词“function”进行声明,M函数文件名必须与function声明的名称相同。
三、编程题
1.创建三变量A、B、C,其值分别为eye(2,3),ones(1,2),magic(3),其中变量A、C显示,变量B不显示。
解:
clear
A=eye(2,3),
B=ones(1,2);
C=magic(3)
2.创建初始值为4,终止值为15,步长为4的向量D,元素个数为3的向量E,并对向量进行加、减、点积和叉积运算。
解:
clear
D=[4:
4:
15];
E=linspace(4,15,3);
D+E
D-E
dot(D,E)
3.cross(D,E)分别用for和while循环语句编写程序,求
的值。
解:
for语句:
clear
sum=0;
fori=1:
40
sum=sum+i^0.5;
end
y=sum
while语句:
clear
sum=0;i=1;n=40;
whilei<=n
sum=sum+i^0.5;
i=i+1;
end
y=sum
4、已知系统的传递函数为:
,在MATLAB中用两种方法建立系统的传递函数多项式模型。
解:
方法一
clear
num=[741];%分子多项式系数向量
den=[1050308];%分母多项式系数向量
G=tf(num,den)
方法二
clear
s=tf('s');%将变量s定义为传递函数模型
G1=(7*s^2+4*s+1)/(s^6+5*s^4+3*s^2+8)
5、已知系统的传递函数为:
,在MATLAB中用两种方法建立系统的零极点增益模型。
解:
方法一
clear
z=[1];p=[-2,3,-1];k=2;%输入系统的零级、极点和增益
G3=zpk(z,p,k)
方法二
clear
s=zpk('s');%将变量s定义为零级点增益模型
G4=2*(s-1)/((s+2)*(s^2-2*s-3))
四、综合题
1.典型二阶系统传递函数为:
,阻尼比ζ的值为0.4,试编制程序绘制出自然振荡角频率ωn从1变化到10(每次递增2)的单位阶跃响应曲线,并对系统的动态性能的变化作定性分析。
clc;clf;clear
wn=[1,3,5,7,9];%自然振荡角频率
dr=0.4;%阻尼比
t=linspace(0,20,200);%将时间t在0-20间200等分
holdon;%打开图形叠加功能(同一个坐标上画多条曲线)
forj=1:
5
num=wn(j)^2;
den=[1,2*dr*wn(j),0];%开环传递函数分母多项式系数
Gk=tf(num,den);%求得开环传递函数
Gb=feedback(Gk,1);%求得闭环传递函数
step(Gb);grid;%画图
gtext(strcat('wn=',num2str(j)))%添加鼠标文字注释,strcat()为字符串连接函数
end
随着自然振荡角频率ωn的增大,系统的响应速度加快。
2.设单位反馈系统的开环传递函数:
,试求系统的单位阶跃响应的性能指标σ%、tS(2%误差带)。
clc;clear
num=49;den=[110.50];
Gk=tf(num,den)%求得开环传递函数
Gb=feedback(Gk,1,-1)%求得单位反馈的闭环传递函数
[y,t]=step(Gb);%求取单位阶跃响应
%计算调节时间
Cend=dcgain(Gb);%求取系统的终值
n=length(t);%求得仿真时间t序列的长度
while(y(n)>0.98*Cend)&(y(n)<1.02*Cend)
%通过循环求取单位阶跃响应首次进入±2%h(∞)内的所需时间序列号
n=n-1;
end
Ts=t(n)%求得调节时间
%计算超调量
[Y