控制系统数字仿真实验内容共4次实验.docx
《控制系统数字仿真实验内容共4次实验.docx》由会员分享,可在线阅读,更多相关《控制系统数字仿真实验内容共4次实验.docx(10页珍藏版)》请在冰豆网上搜索。
![控制系统数字仿真实验内容共4次实验.docx](https://file1.bdocx.com/fileroot1/2023-1/27/dce1e90e-c8c2-4e19-9843-16074663cab4/dce1e90e-c8c2-4e19-9843-16074663cab41.gif)
控制系统数字仿真实验内容共4次实验
实验一数值积分法仿真
一、实验目的
1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响;
2.熟悉MATLAB语言及应用环境。
二、实验环境
网络计算机系统,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');
四、实验内容、要求
(一)试将示例1的问题改为调用ode45函数求解,并比较结果。
(二)试用四阶RK法编程求解下列微分方程初值问题。
仿真时间2s,取步长h=0.1。
实验二离散相似法仿真和SIMULINK动态仿真
一、实验目的
1.掌握基于离散相似法的系统仿真、了解各仿真参数的影响;
2.掌握SIMULINK动态仿真;
3.熟悉MATLAB语言及应用环境。
二、实验环境
网络计算机系统,MATLAB语言环境
三、实验示例介绍
(一)Simulink的基本操作
(1)运行Simulink
(2)常用的标准模块
(3)模块的操作
(二)系统仿真及参数设置
(1)算法设置(Solver)
(2)工作空间设置(WorkspaceI/O)
(三)学会运用基于离散相似法的MATLAB函数:
step、impulse、initial
lsim等进行系统仿真。
示例1:
已知系统的状态空间模型为
要求
(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建立仿真模型,进行仿真。
示例模型如下:
四、实验内容、要求
(一)试求示例1分别在周期为5s的方波信号和脉冲信号下的响应,仿真时间20s,采样周期Ts=0.1。
(二)某系统框图如图所示,试用SIMULINK进行仿真,并比较在无饱和非线性环节下系统仿真结果。
(三)已知系统结构图如下
已知输入为信号电平从1~6,非线性环节的上下限为±1,取步长h=0.1,仿真时间为10秒,试绘制系统的响应曲线。
实验三PID控制器设计
一、实验目的
1.了解PID控制原理,掌握相应PID控制器设计仿真程序的应用;
2.掌握计算机辅助系统瞬态性能指标的计算;
3.掌握计算机辅助系统频率性能分析;
二、实验环境
网络计算机系统,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文件添加到第一步建立的模型文件中,完成汽车模糊逻辑控制系统的设计。
然后仿真分析,输出曲线。