《matlab控制系统数字仿真》实验指导书.docx
- 文档编号:26389450
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:13
- 大小:100.16KB
《matlab控制系统数字仿真》实验指导书.docx
《《matlab控制系统数字仿真》实验指导书.docx》由会员分享,可在线阅读,更多相关《《matlab控制系统数字仿真》实验指导书.docx(13页珍藏版)》请在冰豆网上搜索。
《matlab控制系统数字仿真》实验指导书
《控制系统数字仿真》实验指导书
李艳编著
中南大学
2012年9月
前言
控制系统数字仿真是一门实践性很强的课程,实验课是控制系统数字仿真课程的重要环节。
通过实验,使学生加深对仿真程序的理解,掌握应用仿真程序进行控制系统响应性能分析和控制器参数设计的能力。
本实验指导书是配合控制系统数字仿真的教学,为学生做实验提供的指导性材料。
为便于学习,书中对各种仿真方法均备有范例程序,所有程序均采用MATLAB语言编写,并上机调试通过。
编者
2012年9月
实验一、二数字仿真方法验证
一、实验目的
1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响;
2.掌握基于离散相似法的系统仿真、了解各仿真参数的影响;
3.掌握SIMULINK动态仿真;
4.熟悉MATLAB语言及应用环境。
二、实验环境
网络计算机系统(新校区机电大楼D520),MATLAB语言环境
三、实验示例介绍
(一)用Euler法和四阶RK法求初值问题的数值解。
示例1:
设方程如下,取步长h=0.1。
上机用如下程序可求出数值解。
1.采用Euler法的程序
clear
t0=0;
u0=1;
h=0.1;
n=1/h;
u
(1)=1;
t
(1)=0;
fori=0:
n-1
k1=u0-2*t0/u0;
u1=u0+h*k1;
t1=t0+h;
u0=u1;
t0=t1;
u(i+2)=u1;
t(i+2)=t1;
end
%输出数据
u1
t1
%输出图形
figure
(1)
plot(t,u,'g');
2.采用RK法的程序
clear
t0=0;
u0=1;
h=0.2;
n=1/h;
u
(1)=1;
t
(1)=0;
fori=0:
n-1
k1=u0-2*t0/u0;
k2=(u0+h*k1/2)-2*(t0+h/2)/(u0+h*k1/2);
k3=(u0+h*k2/2)-2*(t0+h/2)/(u0+h*k2/2);
k4=(u0+h*k3)-2*(t0+h)/(u0+h*k3);
u1=u0+h*(k1+2*k2+2*k3+k4)/6;
t1=t0+h;
u0=u1;
t0=t1;
u(i+2)=u1;
t(i+2)=t1;
end
u1
t1
figure
(1)
plot(t,u,'r');
(二)MATLAB工具箱提供了各种数值积分方法的常用函数,如ode45、ode23等。
直接调用函数的方法与应用例子如下:
示例2、已知二阶微分方程,求时间区间t=[020]微分方程的解。
分三个步骤求解
(1)将微分方程表示为一阶微分方程组
(2)建立描述微分方程组的函数m文件
functiondy=vdp(t,y)
dy=[y
(2);(1-y
(1)*y
(1))*y
(2)-y
(1)];
(3)调用解题器指令ode45求解y
[t,y]=ode45('vdp',[020],[0,1]);
plot(t,y(:
1),'r-',t,y(:
2),'b:
');
xlabel('t');
ylabel('y');
legend('y1','y2');
(三)学会运用基于离散相似法的MATLAB函数:
step、impulse、initial
lsim等进行系统仿真。
示例3:
已知系统的状态空间模型为
要求
(1)绘制系统单位阶跃响应图;
(2)绘制系统在初始状态X(0)=[1;0]下的响应图。
clear
%Createsystemmodel
A=[-0.5572-0.7814;0.78140];
B=[1;0];
C=[1.96916.4493];
D=0;
sys=ss(A,B,C,D);
%Stepresponseofthesystem
subplot(221)
step(sys)
%Initialresponseofthesystem
X0=[1;0];
subplot(222)
initial(sys,X0)
(四)学会运用SIMULINK建立仿真模型,进行仿真。
示例4模型如下:
四、实验内容、要求
(一)试将示例1的问题改为调用ode45函数求解,并比较结果。
(二)试用四阶RK法编程求解下列微分方程初值问题。
仿真时间2s,取步长h=0.1。
(三)试求示例3分别在周期为5s的方波信号和脉冲信号下的响应,仿真时间20s,采样周期Ts=0.1。
(四)某系统框图如图所示,试用SIMULINK进行仿真,并比较在无饱和非线性环节下系统仿真结果。
实验三PID控制器设计
一、实验目的
1.了解PID控制原理,掌握相应PID控制器设计仿真程序的应用;
2.掌握计算机辅助系统瞬态性能指标的计算;
3.掌握计算机辅助系统频率性能分析;
二、实验环境
网络计算机系统(新校区机电大楼D520),MATLAB语言环境
三、实验内容、要求
已知如图所示单位反馈系统
要求:
1.绘制系统的开环Nyquist图和Bode图,并判断该闭环系统是否稳定。
2.应用Ziegler—Nichols方法设计P控制器、PI控制器和PID控制器。
3.计算比较原系统与P控制系统、PI控制系统、PID控制系统的瞬态性能指标。
实验四模糊逻辑控制器设计
一、实验目的
4.了解模糊逻辑控制原理;
5.掌握MATLAB辅助模糊逻辑控制器设计流程;
二、实验环境
网络计算机系统,MATLAB语言环境
三、实验内容、要求
设有前后两车(目标车与本车),其速度y与油门控制输入u间的传递函数均为
现要求设计一模糊控制器,使得
1)控制汽车(本车)由静止启动,追赶200m外时速90km的汽车(目标车)并与其保持30m距离。
2)目标车速度改为时速110km时,仍与其保持30m距离。
3)目标车速度改为时速70km时,仍与其保持30m距离。
四、实验步骤
第一步:
利用simulink构造系统仿真模型。
根据题意,可做出系统结构图如图1所示。
图中,为了控制系统设计方便,将两车的距离相减后再减掉30,用模糊控制使其趋于0。
目标车
+
本车-
-30
fuzzycontroller
图1系统结构图
进一步,利用simulink构造了系统仿真模型,如图2所示。
考虑到实际的汽车速度存在极限,系统模型中加入了饱和非线性模块进行模拟。
图中的e和u除以20是为了使输出量限定在10左右。
然后,将系统模型以文件f-car.mdl保存。
图2系统simulink仿真模型
第二步设计模糊逻辑规则(参考下文,不要自己再设计)。
以误差量(两车距离)及误差对时间的变化量作为输入进行模糊规则设计。
本例采用位置型模糊控制器,即控制规则的条件为:
ife为Aand△e为Bthenu为C。
按一般方法,可得一套控制规律[]如表1所示
表1控制规律
e
NB
NM
ZE
PM
PB
△e
PB
PB
PM
PM
ZE
NB
NM
ZE
PM
PB
NM
NM
NB
NM
表中P=POSITIVEN=NEGATIVEZE=ZERO
M=MEDIUMB=BIG
表1所示的控制规则库中尚有一些空缺,为了防止受控对象因为无效条件而失控,可以将(e,△e)按下式转换为极坐标(
)
,
而将规则库填满,从而得到表2所示极坐标形式的模糊控制规则:
表2极坐标形式的模糊控制规则
NB
ZE
PB
PB
ZE
NM
NB
PM
ZE
PM
PB
ZE
ZE
PM
PB
NM
ZE
NM
NB
NB
ZE
NM
NB
由上表可知,此例中,我们分别将
分为PBZENB
分为PBPMZENMNB
y分为PBPMZENMNB
因此,根据该表可以写出15条规则。
如,对应表中第二行、第三列的规则为:
if(
isPB)and(
isPM)then(yisPB)
等等。
第三步设计隶属函数(参考下文,不要自己再设计)。
对输入量
和输出量y,均取三角形的隶属函数,具体范围与大小如图3和4所示:
图3input的隶属度函数
图4output的隶属度函数
第四步,根据前面的隶属度函数、控制规则,利用Toolox\FuzzyLogic中的模糊推理系统编辑器,建立模糊推理系统(即生成FIS文件)。
第五步,将FIS文件添加到第一步建立的模型文件中,完成汽车模糊逻辑控制系统的设计。
然后仿真分析,输出曲线。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab控制系统数字仿真 matlab 控制系统 数字 仿真 实验 指导书