控制系统cad形考作业(新)

控制系统cad形考作业(新)
控制系统cad形考作业(新)

目录

控制系统CAD作业1 (1)

第1章 (1)

第2章 (3)

控制系统CAD作业2 (7)

第3章 (7)

第4章 (9)

控制系统CAD作业3 (16)

第5章 (16)

第6章 (20)

控制系统CAD作业4 (25)

第7章 (25)

第8章 (30)

第1章

一、填空题

1.按控制信号传递的路径不同,可将控制系统划分为:按给定值操纵的开环控制、按偏差调节的闭环(反馈)控制和带补偿调节的复合控制三种控制方式,其中控制精度最高的是带补偿调节的复合控制控制方式。

2.对自动控制系统性能的基本要求可以归纳为“稳、快、准”三个方面,一个系统要能正常工作,其首先必须满足稳定的最基本要求。

3.控制系统的设计包含分析和设计两方面内容。

4.控制系统的仿真依据模型的种类不同,可分为物理仿真、数学仿真和混合仿真三种形式。

二、简答题

1.简述控制系统CAD的发展历程,并简单分析控制系统CAD 和机械CAD或建筑CAD 的相同点和区别。

早期的控制系统设计可以由纸笔等工具容易地计算出来,如Ziegler 与Nichols 于1942

年提出的PID 经验公式就可以十分容易地设计出来。随着控制理论的迅速发展,光利用纸

笔以及计算器等简单的运算工具难以达到预期的效果,加之在计算机领域取得了迅速的发展,于是20世纪70年代出现了控制系统的计算机辅助设计(computer-aided control system design , CACSD)方法。近三十年来,随着计算机技术的飞速发展,各类CACSD 软件频繁出现且种类繁多,其中MATLAB已成为国际控制界的标准分析和辅助设计软件。

控制系统CAD 和机械CAD或建筑CAD的相同点是均是借助计算机软件进行设计;不同的是设计对象不同,其中控制系统CAD是借助计算机对控制系统进行仿真和设计,机械CAD 是借助计算机对机械结构进行设计和计算,建筑CAD借助计算机辅助设计建筑结构,设计对象的不同决定了其各自使用的软件也不尽不同。

2.什么是控制系统的计算机仿真?

控制系统的计算机仿真是利用计算机对控制系统进行数学仿真。数学仿真就是根据实际系统中各个变化量之间的关系,构建出系统的数学模型,并利用此模型进行分析研究。数学仿真的关键在于数学模型的构建和求解。

数学仿真具有经济、方便和灵活的优点,它的主要工具是计算机,故又称计算机仿真。而控制系统的计算机仿真就是以控制系统的数学模型为基础,借助计算机对控制系统的特性进行实验研究。

第2章

一、填空题

1.MATLAB的变量名必须以英文字母开始,其后可以是任何字母、数字

和下划线的组合。MATLAB区分字母的大小写,同一变量名中字母的大小写会被认为是不同的变量

2.MATLAB提供三种常用变量,即局部变量、全局变量和特殊变量。

3.在MATLAB语言中,运算符可以分为三类,即算术运算符、关系运算符和

逻辑运算符。

4.M函数文件通常由函数声明行、H1 行、函数帮助文本、注释和

函数体五部分组成。

5.说明以下指令的功能:

(1)figure:创建图形窗口(2)hold:保留现有图形

(3)plot:绘制曲线(4)grid:添加网格线

6.在MATLAB命令窗口中输入指令>> [A B C] = deal([6+3*(7-3)]/6, ones(2,2)*2, 4),执行后的结果为:

A= 3 B= 2 2 C=4

2 2

7.若要分别生成初始值为4,终止值为18,步长为4的数组A及元素个数为4的数组B,在MATLAB命令窗口中应输入如下指令>> A=[4:4:18],>> B=linspace (4,18,3)。

1 3

57

8.已知A=[1 2 3;5 6 7;9 10 11],则A(:,[1 3])= 911 。

101010

9.已知A=[ 2 3 6;1 9 7],B=[ 0 5 4;3 6 2],则A>B= 01 1 ,A

10 01 1 1

10.已知A=[ 7 0 5;0 2 8],B=[ 1 4 0;5 0 4],则A&B= 0 0 1 ,A|B= 1 1 1 。

二、简答题

1.MATLAB软件系统主要有哪些部分组成?

答:MATLAB系统主要由开发环境、数学函数库、MATLAB语言、MATLAB图形处理系统及外部应用程序接口组成。

2.启动MATLAB后,默认用户界面中包含哪些窗口元素?

答:启动MATLAB程序后,进入MATLAB工作界面,包括用于管理文件的工具条(图形用户界面)、命令窗口(Command Window)、当前文件夹窗口(Current Folder)、工作空间(Workspace)及历史命令窗口(Command History)等。

3.用哪些方法可以启动MATLAB的帮助系统?使用help命令和lookfor命令有什么区别?

答:点击桌面工具栏上的帮助按钮,或在命令窗口中键入helpbrowser命令,或使用任何工具栏上的help菜单,都可打开帮助浏览器。

help:在命令窗口中键入“help 函数名”,将显示指定函数的M文件说明和语法,对于MDL文件,将显示模型的描述;

lookfor:在命令窗口中键入“lookfor 关键字”,将按关键字搜索相关的M文件。

4.如果文件保存在D: \My Documents\My Work中,而当前文件夹路径为C:\MATLAB,如何操作才能执行该文件?

答:选择菜单中的〖File〗→〖Set Path〗菜单项将D: \My Documents\My Work目录加入到MATLAB的搜索路径中,就可执行文件。

5.什么是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)

cross(D,E)

3.已知3×3维矩阵

257

324

159

F

??

??

=??

??

??

,做如下操作:

(1)寻访F矩阵的第8个元素;

(2)将F 矩阵的第二行重新赋值为[5 8 3];

(3)分别生成F 矩阵的对角矩阵和上三角矩阵;

(4)抽取F 矩阵的第二行、第三行,第二列、第三列生成新的矩阵G 。

解:clear

F=[2 5 7;3 2 4;1 5 9]; F(8)

F(2,:)=[5 8 3] diag(F) triu(F)

G=F(2:3,2:3)

4. 已知矩阵301210240101K ??

??

=????-??和201304046001L ????=??????

,查找出K 大于L 的元素,

K 不等于L 的元素,及K|L 、K&L 的值。

解:clear

K=[3 0 1 2;1 0 2 4;0 -1 0 1 ];

L=[2 0 1 3;0 4 0 4;6 0 0 1]; K>=L K~=L K|L K&L

5. 分别用for 和while 循环语句编写程序,求40

1

i y ==

解:for 语句:

clear sum=0;

for i=1:40

sum=sum+i^0.5;

end

y=sum

while语句:

clear

sum=0;i=1;n=40;

while i<=n

sum=sum+i^0.5;

i=i+1;

end

y=sum

第3章

一、填空题

1.在MATLAB的命令窗口中键入simulink命令可打开Simulink图形化设计环境。

2.引出信号支线的方法是按住鼠标右键,在需要增加分支的地方拉出引线;也可在按下Ctrl键的同时,在分支点按住鼠标左键拉出引线。

3.已知系统传递函数的增益为

4.5,零点为-2±j,极点为0、-3和-1±j,则零极点模

型模块的参数设置对话框内“Zeros ”框应填入[-2+j -2-j];“Poles ”框应填入[0 -3 -1-j -1+j];“Gain ”框应填入4.5。

4. 用零极点模型表示系统结构时若没有零点只有极点,需要在零极点模型模块的参数设置对话框将“Zeros”向量设为[]。

5. 已知单位负反馈系统的开环传递函数为: 21

()48

G s s s =

++,若要完成以下的系统

仿真分析:(1)利用Simulink 求系统的单位阶跃响应;(2)用示波器显示仿真结果;(3)将结果输出到MATLAB 的工作空间,则需要用到的模块有Sources 库的Step 模块、Continuous 库的Transfer Fcn 模块、Math Operations 库的Sum 模块、Sinks 库的To Workspace 模块和Scope 模块。

6. 利用Continuous 库的Transfer Fcn 模块表示传递函数225

()2G s s s

=

+时,其参数设置

对话框中“Numertor coefficient (分子多项式)”框应填入[25],“Denominator coefficient (分母多项式)”框应填入[1 2 0]。

7. 利用已存在系统模型的部分结构建立子系统,则Simulink 会自动添加输入模块和输出模块来表示子系统的输入端口和输出端口。

8. 创建子系统、封装子系统、编辑已封装的子系统所用的菜单命令分别为〖Create Subsystem 〗、〖Mask Subsystem …〗、〖Edit Mask 〗。

9. 在仿真参数设置对话框中可选择求解器(Solver )类型,可供选择的类型有可变步长模式和固定步长模式。

10. 选择可变步长模式时仿真步长随模型的动态特性变化,提供误差控制和 过零检测两种功能,而固定步长模式则不提供。

二、选择题

1.已知单位负反馈系统的开环传递函数为:

1

()

(1)

G s

s s

=

+

,利用Simulink求系统的单

位阶跃响应时,不需要下列模块中的哪一种?(D)

A. B.

C. D.

2.能将Simulink中的结果数据导出到MATLAB工作空间的模块是:(C)

A. B.

C. D.

三、判断题

1.Simulink将建模时所需的功能模块按其功能划分到不同的模块库中,因此任一模块都有唯一对应的模块库。[ 错]

2.Simulink对子系统的封装功能不仅增强了模型的可读性,还大大简化了子系统的参数设置,在仿真前只需打开子系统编辑窗口,对其中的每个模块分别进行参数设置就可以了。[ 错]

3.利用Simulink进行系统建模和仿真的一般步骤是调用各模块库中的模块建立仿真模型,设置各模块参数及全局仿真参数后运行仿真,并根据系统性能要求调整参数,输出结果。[ 对]

第4章

一、填空题

1.在线性定常系统中,常用的数学模型有:微分方程及传递函数的多项式模型、传递函数的零极点增益模型、状态空间模型和频率响应数据模型或者TF、ZPK、SS、FRD等。

2.说明以下函数的功能:

(1)tf2zp():传递函数多项式模型转换为零极点模型

(2)zp2tf():零极点模型转换为传递函数多项式模型

(3)tf2ss():传递函数多项式模型转换为状态空间模型

(4)ss2tf():状态空间模型转换为传递函数多项式模型

(5)zp2ss():零极点模型转换为状态空间模型

(6)ss2zp():状态空间模型转换为零极点模型

二、编程题

1.已知系统的传递函数为:

2

642

741

()

538

s s

G s

s s s

++

=

+++

,在MATLAB中用两种方法建立系

统的传递函数多项式模型。

解:方法一

clear

num=[7 4 1]; % 分子多项式系数向量

den=[1 0 5 0 3 0 8]; % 分母多项式系数向量

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)

2. 已知系统的传递函数为:22342(32)(3)(241)

()(3)(1)(2351)

s s s s G s s s s s s ++++=+++++,在MATLAB 中建立

系统的传递函数多项式模型。

解: clear

num=conv(conv([3 2],[1 3]),[2 4 1]);

den=conv(conv(conv([1 0 3],[2 0 3 5 1]),conv([1 1],[1 1])),[1 1]); G2=tf(num,den)

3. 已知系统的传递函数为:22(1)

()(2)(23)

s G s s s s -=+--,在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))

4. 已知系统的传递函数为:243223

()2431

s s G s s s s s ++=++++,在MATLAB 中用两种方法将TF

模型转换为ZPK 模型。

解: 方法一

clear

num=[2 1 3]; % 分子多项式系数向量 den=[1 2 4 3 1]; % 分母多项式系数向量 G=tf(num,den);

% 创建传递函数模型

G5=zpk(G) 方法二

clear

num=[2 1 3]; % 分子多项式系数向量 den=[1 2 4 3 1];

% 分母多项式系数向量

[z,p,k]=tf2zp(num,den) G6=zpk(z,p,k)

5. 已知系统的传递函数为:2222(2)(4)

()(6)(1)(65)

s s G s s s s s +-=--++,在MATLAB 中用两种方法将

ZPK 模型转换为TF 模型。

解:方法一

clear

z=[-2,-2,+2];p=[1,1,-1,-5,-6^0.5,6^0.5];k=1; % 输入系统的零点、极点和增益

G=zpk(z,p,k); % 生成ZPK 模型

G1=tf(G) 方法二

clear

z=[-2,-2,+2]';p=[1,1,-1,-5,-6^0.5,6^0.5];k=1; % 输入系统的零点、极点和增益 [num,den]=zp2tf(z,p,k)

% 模型转换,获得系统TF 模型的分

子分母系数

G=tf(num,den)

% 根据所求的参数生成TF 模型

6. 已知两个子系统的传递函数分别为:12222(2)

()(4)(2)(23)

s G s s s s s -=

++--,

4225432231

()53241

s s s G s s s s s s +++=+++++,在MATLAB 中用将两个子系统串联连接生成新系统。

解:clear %清除工作空间中变量

z=[2];p=[-2i,2i,-2,-2,-1,3];k=2; %输入子系统的零点、极点和增益 G1=zpk(z,p,k); %生成第一个子系统的ZPK 模型 num=[1 0 2 3 1];

%子系统的分子多项式系数向量 den=[1 5 3 2 4 1]; %子系统分母多项式系数向量 G2=tf(num,den);

%生成第二个子系统的TF 模型

G=series(G1,G2)

7. 已知两个子系统的传递函数分别为:1323(1)()(1)(4)s G s s s -=

++,2242542

()421

s s G s s s s ++=+++。

在MATLAB 中用将两个子系统并联连接生成新系统。

解:clear

%清除工作空间中变量 z=[1];p=[-1,-1,-1,2i,- 2i];k=3;

%输入子系统的零点、极点和增益

G1=zpk(z,p,k); %生成第一个子系统的ZPK 模型 num=[5 4 2]; %子系统的分子多项式系数向量 den=[1 0 4 2 1];

%子系统分母多项式系数向量 G2=tf(num,den);

%生成第二个子系统的TF 模型

G=parallel(G1,G2)

8. 已知两个子系统的传递函数分别为:12

(2)(1)()(3)(54)s s G s s s s +-=

--+,221

()2

s G s s s +=++。在MATLAB 中用将两个子系统正、负反馈连接生成新系统。

解:clear

%清除工作空间中变量 z=[-2 1];p=[3 1 4];k=1;

%输入子系统的零点、极点和增益

G1=zpk(z,p,k); %生成第一个子系统的ZPK 模型 num=[1 1];

%子系统的分子多项式系数向量 den=[1 1 2];

%子系统分母多项式系数向量 G2=tf(num,den);

%生成第二个子系统的TF 模型

Ga=feedback(G1,G2,1)

Gb=feedback(G1,G2)

第5章

一、填空题

1.在控制系统时域分析时,常用的时域动态性能指标有:上升时间t r、峰值时间t m、调节时间t s和超调量σ%。

2.MATLAB中step()函数是单位阶跃响应函数。它可以用来绘制单位阶跃响应波形图或求取输出量的数值向量。

3.impulse函数不带输出变量时,可在当前窗口中直接绘制出系统的单位冲激响应曲线。

4.在MATLAB 中,欲求取系统的时域性能,可以利用鼠标和菜单的操作,在单位阶跃响应曲线上求取,也可以编制简单程序求取。

5.要判别系统的稳定性,可使用的MATLAB函数有roots()、zpkdata()、tf2zp()和pzmap()四个函数。若要直接求出系统闭环特征方程的根,应使用roots()函数。

6.若在Simulink仿真集成环境中分析系统在斜坡信号和阶跃信号作用下系统的稳态误差,在Simulink建模时,可分别选用Step和Ramp模块作为系统的输入信号模块。

二、写出下列程序(命令)的功能或执行结果

1.

>> G=zpk([],[-1+3*I,-1-3*i],3) >> step(G) 绘制出3

()(13)(13)

G s s j s j =

+-++的单位阶跃响应曲线

2.

num=7*[1,5];den=conv([1,0,0], conv([1,10],[1,1]));

[gm,pm,wg,wc]=margin(num,den)

求系统)

1)(10()

5(7)(2+++=

s s s s s G 的幅值裕度和相角裕度

3.

num=5*[1,5,6];den=[1,6,10,8]; impulse(num,den);grid on ;

求三阶系统的8

106)

65(5)(232+++++=s s s s s s G 单位阶跃响应和单位冲激响应。

三、编程题

1. 典型二阶系统传递函数为:2

22

()2n n n G s s s ωζωω=++,阻尼比ζ的值为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等分

hold on;

% 打开图形叠加功能(同一个坐标上画多条曲线)

for j=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. 设单位反馈系统的开环传递函数:249

()10.5k G s s s

=+,试求系统的单位阶跃响应的

性能指标σ%、t S (2%误差带)。

clc;clear

num=49;den=[1 10.5 0]; 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,i]=max(y);

% 求得系统响应的峰值 Os=100*(Y-Cend)/Cend

% 求得超调量

Ts = 0.8074(s ) Os =2.8335(%)

3. 单位负反馈系统的开环传递函数为:27(1)

()(3)(45)

k s G s s s s s +=

+++,试求在单位斜坡

输入信号作用下的稳态误差,试写出MATLAB 命令序列(需首先判断系统的稳定性)。

>>num=[7 7];

>>den=[conv(conv([1 0],[1 3]),[1 4 5])]; >>Gk=tf(num,den);

>>Gb=feedback(Gk,1,-1) Transfer function: 7 s + 7 -------------------------------

s^4 + 7 s^3 + 17 s^2 + 22 s + 7 >>r=roots([1 7 17 22 7]) r =

-4.0287 -1.2632 + 1.5198i -1.2632 - 1.5198i

相关主题
相关文档
最新文档