资源描述
控制系统cad
48
2020年4月19日
文档仅供参考,不当之处,请联系改正。
目录
控制系统CAD作业1 1
第1章 1
第2章 2
控制系统CAD作业2 8
第3章 8
第4章 10
控制系统CAD作业3 14
第5章 14
第6章 17
控制系统CAD作业4 20
第7章 20
第8章 25
姓 名:
学 号:
得 分:
教师签名:
控制系统CAD作业1
第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) 。
8. 已知A=[1 2 3;5 6 7;9 10 11],则A(:,[1 3])= 1 3 5 7 9 11 。
9. 已知A=[ 2 3 6;1 9 7],B=[ 0 5 4;3 6 2],则A>B=1 0 1 0 1 1 ,A<B=0 1 0 1 0 0 。
10. 已知A=[ 7 0 5;0 2 8],B=[ 1 4 0;5 0 4],则A&B=1 0 0 0 0 1 ,A|B=1 1 1 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维矩阵,做如下操作:
(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. 已知矩阵和,查找出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循环语句编写程序,求的值。
解: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
姓 名:
学 号:
得 分:
教师签名:
控制系统CAD作业2
第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. 已知单位负反馈系统的开环传递函数为: ,若要完成以下的系统仿真分析:(1)利用Simulink求系统的单位阶跃响应;(2)用示波器显示仿真结果;(3)将结果输出到MATLAB的工作空间,则需要用到的模块有Sources库的Step 模块、Continuous库的Transfer Fcn 模块、Math Operations库的Sum 模块、Sinks库的To Workspace 模块和Scope 模块。
6. 利用Continuous库的Transfer Fcn模块表示传递函数时,其参数设置对话框中“Numertor coefficient(分子多项式)”框应填入[25] ,“Denominator coefficient(分母多项式)”框应填入[1 2 0] 。
7. 利用已存在系统模型的部分结构建立子系统,则Simulink会自动添加输入 模块和输出 模块来表示子系统的输入端口和输出端口。
8. 创立子系统、封装子系统、编辑已封装的子系统所用的菜单命令分别为〖Create Subsystem 〗、〖Mask Subsystem… 〗、〖Edit Mask 〗。
9. 在仿真参数设置对话框中可选择求解器(Solver)类型,可供选择的类型有可变步长 模式和固定步长 模式。
10. 选择可变步长模式时仿真步长随模型的动态特性变化,提供误差控制 和
过零检测 两种功能,而固定步长模式则不提供。
二、选择题
1. 已知单位负反馈系统的开环传递函数为:,利用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. 已知系统的传递函数为:,在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. 已知系统的传递函数为:,在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. 已知系统的传递函数为:,在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. 已知系统的传递函数为:,在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. 已知系统的传递函数为:,在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. 已知两个子系统的传递函数分别为:,,在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. 已知两个子系统的传递函数分别为:,。在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. 已知两个子系统的传递函数分别为:,。在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)
控制系统CAD作业3
第5章
一、填空题
1. 在控制系统时域分析时,常见的时域动态性能指标有:上升时间tr、峰值时间tm 、
调节时间ts 和超调量σ% 。
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)
绘制出的单位阶跃响应曲线
2.
num=7*[1,5];den=conv([1,0,0],
conv([1,10],[1,1]));
[gm,pm,wg,wc]=margin(num,den)
求系统的幅值裕度和相角裕度
3.
num=5*[1,5,6];den=[1,6,10,8];
impulse(num,den);grid on ;
求三阶系统的单位阶跃响应和单位冲激响应。
三、编程题
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等分
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. 设单位反馈系统的开环传递函数:,试求系统的单位阶跃响应的性能指标σ%、tS(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. 单位负反馈系统的开环传递函数为:,试求在单位斜坡输入信号作用下的稳态误差,试写出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
-0.4449
闭环特征根的实部均为负,系统稳定。
>>rss=tf([1 0],[0 1]);
>>Kv=dcgain(rss*Gk)
>>essv=1/Kv
essv = 2.1429
第6章
一、填空题
1. 所谓根轨迹,是指控制系统开环传递函数的某一参数(如开环增益)从零 变化到
无穷大 时,闭环特征根 在s平面上移动的轨迹。
2. 根轨迹法的实质就是依据反馈系统中开、闭环传递函数 间的关系,由开环传递函数
的零、极点直接寻求闭环根轨迹 的总体规律。
3. 根据给定的根轨迹增益向量K,绘制系统sys的部分根轨迹的MATLAB函数是rlocus(sys,k) 。
4. 计算与根轨迹上任一闭环极点相对应的根轨迹增益的MATLAB函数是rlocfind () 。
二、编程分析题
(以下练习题须将绘制的根轨迹打印后,粘贴在每题下方)
1. 已知单位反馈系统的开环传递函数,试用MALAB编程绘出系统根轨迹。
⑴ (2)
(1) num=1;den=[conv(conv([1 0],[0.2 1]),[0.5 1])]
sys=tf(num,den);
rlocus(sys);
(2) num=[1 2];den=[conv([1 0],[2 1])]
sys=tf(num,den);
rlocus(sys);
2. 已知控制系统的开环传递函数为,试用MALAB分析该系统的根轨迹的起点和终点。
num=[1 1 0 4];
den=[1 3 7 0];
G=tf(num,den);
rlocus(G);
p=roots(den)
z=roots(num)
p =
0
-1.5000 + 2.1794i
-1.5000 - 2.1794i
z =
-2.0000
0.5000 + 1.3229i
0.5000 - 1.3229i
图中显示了该系统的根轨迹。能够看到,该系统有3个开环极点和3个开环零点,因此根轨迹有3个分支,它们的起点是开环极点0,-1.5+2.18j和-1.5-2.18j,终点是开环零点-2,0.5+1.32和0.5-1.32j,根轨迹的一个分支从极点0开始,终于零点-2;另两条分支分别从极点-1.5+2.18j和-1.5-2.18j开始,从圆弧变化,最后分别终于零点0.5+1.32和0.5-1.32j。
3. 已知单位负反馈控制系统的开环函数为,请利用MATLAB分析该系统临界稳定时的K值与系统的闭环极点,并求根轨迹与虚轴交点处的根轨迹增益。
>> num=1
>> den=[conv(conv([1 0],[1 6]),[1 3])]
>> G=tf(num,den);
>> rlocus(G);
>> k=0:0.1:100;
>> [k p]=rlocfind(G)
Select a point in the graphics window
selected_point =
0.0533 + 4.2391i
k =
163.6757
p =
-9.0169
0.0084 + 4.2605i
0.0084 - 4.2605i
姓 名:
学 号:
得 分:
教师签名:
控制系统CAD作业4
第7章
一、填空题
1. 称为系统的幅频特性,它描述系统对不同频率__________输入信号的稳态响应幅值__________衰减(或放大)的特性。称为系统的相频特性__________特性,它描述系统对不同频率输入信号的稳态响应,相位滞后()或超前()的特性。
2. 若sys为系统传递函数,在函数[mag,phase,w]=bode(sys)中,函数的返回值mag 和phase分别表示频率特性的幅频值 和相位 。
3. 若sys为系统传递函数,函数margin (sys)的功能是:绘制系统的Bode图 ,它和函数bode(sys)的区别在于:所绘制的Bode图上带有稳定裕量标记 。
4. 若sys为系统传递函数,函数nyguist (sys)的功能是:绘制系统的Nyquist曲线 。
二、简答题
1. 已知单位负反馈系统的开环传递函数为:,利用bode()函数可分别绘制出K取不同值时系统的Bode图如题图7-1所示,请根据Bode图,分析系统开环增益K对系统稳定性的影响。
题图7-1 不同K取值下的系统Bode 图
系统的幅频特性曲线随着K的增大,位置提高,因此曲线2所对应的K相对较大,从图中还可知,曲线2所对应的幅值裕量约为-10(dB),相位裕量约为-23度,对应的闭环系统为不稳定。
2. 在上题的Bode图中,简述用鼠标移动的方法求取稳定裕量的步骤。
[在Bode图曲线上任意一点用鼠标左键单击,曲线上便会标注出“■”,同时系统会显示单击点的对数幅频(或相频)值以及对应的频率。此时若按住鼠标左键并拖动图中的“■”,则显示的数据随着“■”位置的改变而变化。
在开环对数频率特性上,幅值裕量的定义为:,(ωg是相角 φ(ω)=-180o的频率)
相位裕量的定义为:。(ωc是的频率),据此即可求出系统的幅值裕量和相位裕量]
三、编程题
1. 若系统的单位阶跃响应为:,试求系统的频率特性表示式 [提示:利用MATLAB符号运算功能,分别对输入、输出信号进行拉氏变换,并对结果化简,MATLAB中的拉氏变换函数为laplace()]。
syms t s w;
Y=1-1.8*exp(-4*t)+0.8*exp(-9*t);
R=1;
YS=laplace(Y,t,s);
RS=laplace(R,t,s);
GS=YS/RS;
GSS=simple(GS);
GSF=factor(GS);
GW=subs(GSF,s,i*w)
GW =36/((i*w + 9)*(i*w + 4)) 即:
2. 已知系统的开环传递函数为,试分别计算当ω=0.5和ω=2时开环频率特性的幅频值A(ω)和幅角值φ(ω)。
clc;clear
w=[0.5,2]; % ω=0.5、2
num=10;den=[conv(conv([1 0],[2 1]),[1 0.5 1])];
G=tf(num,den); % 求得传递函数
for j=1:length(w)
H=freqresp(G,w(j)); % 求得频率响应
mag=abs(H); % 求复数H的模
phase=angle(H)*180/pi; % 求复数H的幅角并把单位转化为度
disp(['w=',num2str(w(j))])
disp(['幅频=',num2str(mag)])
disp(['幅角=',num2str(phase)])
end
w=0.5
幅频=17.8885
幅角=-153.4349
w=2
幅频=0.38348
幅角=32.4712
3. 已知系统的开环传递函数为:。
试:(1)绘制对数幅频特性曲线以及相频特性曲线;
(2)确定系统相位裕量γ和幅值裕量h以及对应的截止频率ωc和相位穿越频率ωg。
clc;clf;clear
num=10;
den=[conv(conv([1 0],[0.1 1]),[0.04 1])]; % 开环传递函数分母多项式系数
Gk=tf(num,den) % 求得开环传递函数
bode(Gk);grid
[Gm,Pm,Wg,Wc]=margin(Gk) % 求得系统的稳定裕量以及对应的频率
Gmdb=20*log10(Gm) % 将幅值裕量转化为分贝值
Gm = 3.5000
Pm = 35.7873
Wg = 15.8114
Wc = 7.6120
Gmdb = 10.8814
4. 设负反馈系统的开环传递函数为:,试确定系统闭环稳定时τ的临界值。
clc;clear
den=[conv([1 0],[1 -10])];
t=[0:0.01:100];
for i=1:length(t)
num=10*[t(i) 1];
Gk=tf(num,den);
[Gm,Pm,Wg,Wc]=margin(Gk); % 求得系统的稳定裕量及对应的频率
if Gm==1|Pm==0
t(i)
break
end
end
ans=1
5. 已知单位反馈系统的开环传递函数为:,试绘制出系统的闭环幅频特性曲线,并求出系统的谐振峰值和谐振频率。
clc;clf;clear
num=5;den=[conv(conv([1 0],[0.1 1]),[1 1])];
Gk=tf(num,den) % 求取开环传递函数
Gb=feedback(Gk,1,-1) % 求取闭环传递函数
w=[0:0.01:100]; % 设
展开阅读全文