MATLAB控制系统仿真Word格式.docx
- 文档编号:21040098
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:32
- 大小:356.63KB
MATLAB控制系统仿真Word格式.docx
《MATLAB控制系统仿真Word格式.docx》由会员分享,可在线阅读,更多相关《MATLAB控制系统仿真Word格式.docx(32页珍藏版)》请在冰豆网上搜索。
--------------------------
s^2(s+5)(s+6)(s^2+1)
pzmap(G)
z=[00000-1/3.2-1/2.6];
p=[1/8.2];
H=zpk(z,p,1,'
0.05)
z^5(z+0.3125)(z+0.3846)
-------------------------
(z-0.122)
Samplingtime:
0.05
pzmap(H)
二、线性系统分析
1.请分析下面传递函数模型的稳定性。
num=[1];
den=[1212];
G=tf(num,den);
eig(G)'
ans=
-2.0000
0.0000-1.0000i
0.0000+1.0000i
可见,系统有两个特征根在虚轴上,一个特征根在虚轴左侧,所以系统是临界稳定的。
num=[31];
den=[3006005031];
-1.9152
-0.1414
0.0283-0.1073i
0.0283+0.1073i
可见,有两个特征根在虚轴右侧,所以系统是不稳定的。
2.请判定下面离散系统的稳定性。
num=[-32];
den=[1-0.2-0.250.05];
0.1);
[eig(H)abs(eig(H))]
-0.50000.5000
0.50000.5000
0.20000.2000
可以看出,由于各个特征根的模均小于1,所以可以判定闭环系统是稳定的。
z=tf('
z'
H=(2.12*z^-2+11.76*z^-1+15.91)/…;
(z^-5-7.368*z^-4-20.15*z^-3+102.4*z^-2+80.39*z-1-340);
[eig(H)abs(eig(H))]
00
4.17244.1724
0.3755+0.1814i0.4170
0.3755-0.1814i0.4170
-0.52920.5292
-0.27160.2716
0.11930.1193
可以看出,由于4.1724这个特征根的模大于1,所以可以判定闭环系统是不稳定的。
3.设描述系统的传递函数为
,假定系统具有零初始状态,请求出单位阶跃响应曲线和单位脉冲响应曲线。
num=[185145982363801226642208818576040320];
den=[1365464536224496728411812410958440320];
G=tf(num,den)
18s^7+514s^6+5982s^5+36380s^4+122664s^3+22088s^2+185760s+40320
-----------------------------------------------------------------------------------------
s^8+36s^7+546s^6+4536s^5+22449s^4+67284s^3+118124s^2+109584s+40320
step(G,10)
impulse(G,10)
单位阶跃响应:
单位脉冲响应:
三、线性系统Simulink仿真应用
1.请分析下面传递函数模型阶跃响应。
利用Simulink建模,建立系统仿真模型如下:
单击启动仿真按钮,双击示波器得到系统的阶跃响应如下:
2.请分析下面离散系统的脉冲响应。
单击启动仿真按钮,双击示波器得到系统的脉冲响应如下:
3.对离散采样系统进行分析,并求出其阶跃响应。
其中:
4.设计控制器,使得下列系统稳定。
利用Simulink建模,未连入控制器时,仿真模型和响应如下:
利用Simulink建模,设计控制器:
从响应输出图形可以看出,连入控制器后系统稳定,性能明显提高。
四、基于MATLAB的PID控制器设计
设计题目:
1.应用Ziegler—Nichols算法设计PID控制器,实现系统的闭环稳定,并比较对各个系统的控制效果。
未连入PID控制器时的系统仿真及其性能指标如下:
可见,未调节时的系统性能有待提高,需设计PID控制器连入。
输入:
num=1;
den=conv([1,1],conv([1,1],[1,1]));
Step(num,den);
K=dcgain(num,den)
得出:
K=1
根据图形,得出:
L=1.86T=4.4
利用自定义的Ziegler_std函数求出Kp、Ti、Td
K=1;
L=1.86;
T=4.4;
[num,den,Kp,Ti,Td]=Ziegler_std(3,[K,L,T])
num=
2.64002.83871.5262
den=
10
Kp=2.8387
Ti=3.7200
Td=0.9300
根据得出的Kp、Ti、Td值,设计PID控制器,并利用利用Simulink仿真建模。
仿真模型及其响应如下:
可见,加入PID控制器调节后,系统性能明显改善。
den=conv([1,1],conv([1,1],…;
conv([1,1],conv([1,1],[1,1]))));
K=1
L=3.4T=6.8
L=3.4;
T=6.8;
得出:
4.08002.40000.7059
10
Kp=
2.4000
Ti=
6.8000
Td=
1.7000
输入:
num=[-1.51];
L=1.8T=5.7
L=1.8
T=5.7;
3.42003.80002.1111
3.8000
3.6000
0.9000
五、模糊控制器设计
设计任务:
试设计一个模糊控制器,实现对室内温度的控制的模拟。
参考输入:
(1)温度18-40℃范围内分为七个论域,NBNMNSZEPSPMPB;
隶属度函数满足高斯分布;
(2)温度变化率-2~2℃范围内分为七个论域,NBNMNSZEPSPMPB;
参考输出:
变频空调输出的控制信号。
在一定范围内分为七个论域,NBNMNSZEPSPMPB,隶属度函数为常数1。
模糊推理过程,output=输入隶属度函数值*输出论域的中心值。
注:
本模糊程序采用PAM控制方式的压缩机,则其输出的转速范围为:
0~10500转/分。
控制规则:
%%ifinputisNBanderrorinputisNB,thenoutputisNB;
%%ifinputisNBanderrorinputisNM,thenoutputisNB;
%%ifinputisNBanderrorinputisNS,thenoutputisNB;
%%ifinputisNBanderrorinputisZE,thenoutputisNM;
%%ifinputisNBanderrorinputisPS,thenoutputisNM;
%%ifinputisNBanderrorinputisPM,thenoutputisNM;
%%ifinputisNBanderrorinputisPB,thenoutputisNS;
%%ifinputisNManderrorinputisNB,thenoutputisNB;
%%ifinputisNManderrorinputisNM,thenoutputisNM;
%%ifinputisNManderrorinputisNS,thenoutputisNM;
%%ifinputisNManderrorinputisZE,thenoutputisNM;
%%ifinputisNManderrorinputisPS,thenoutputisNM;
%%ifinputisNManderrorinputisPM,thenoutputisNS;
%%ifinputisNManderrorinputisPB,thenoutputisNS;
%%ifinputisNSanderrorinputisNB,thenoutputisNM;
%%ifinputisNSanderrorinputisNM,thenoutputisNS;
%%ifinputisNSanderrorinputisNS,thenoutputisNS;
%%ifinputisNSanderrorinputisZE,thenoutputisNS;
%%ifinputisNSanderrorinputisPS,thenoutputisNS;
%%ifinputisNSanderrorinputisPM,thenoutputisZE;
%%ifinputisNSanderrorinputisPB,thenoutputisZE;
%%ifinputisZEanderrorinputisNB,thenoutputisNS;
%%ifinputisZEanderrorinputisNM,thenoutputisZE;
%%ifinputisZEanderrorinputisNS,thenoutputisZE;
%%ifinputisZEanderrorinputisZE,thenoutputisZE;
%%ifinputisZEanderrorinputisPS,thenoutputisZE;
%%ifinputisZEanderrorinputisPM,thenoutputisPS;
%%ifinputisZEanderrorinputisPB,thenoutputisPS;
%%ifinputisPSanderrorinputisNB,thenoutputisZE;
%%ifinputisPSanderrorinputisNM,thenoutputisPS;
%%ifinputisPSanderrorinputisNS,thenoutputisPS;
%%ifinputisPSanderrorinputisZE,thenoutputisPS;
%%ifinputisPSanderrorinputisPS,thenoutputisPS;
%%ifinputisPSanderrorinputisPM,thenoutputisPM;
%%ifinputisPSanderrorinputisPB,thenoutputisPM;
%%ifinputisPManderrorinputisNB,thenoutputisPS;
%%ifinputisPManderrorinputisNM,thenoutputisPS;
%%ifinputisPManderrorinputisNS,thenoutputisPM;
%%ifinputisPManderrorinputisZE,thenoutputisPM;
%%ifinputisPManderrorinputisPS,thenoutputisPM;
%%ifinputisPManderrorinputisPM,thenoutputisPM;
%%ifinputisPManderrorinputisPB,thenoutputisPB;
%%ifinputisPBanderrorinputisNB,thenoutputisPS;
%%ifinputisPBanderrorinputisNM,thenoutputisPM;
%%ifinputisPBanderrorinputisNS,thenoutputisPM;
%%ifinputisPBanderrorinputisZE,thenoutputisPM;
%%ifinputisPBanderrorinputisPS,thenoutputisPB;
%%ifinputisPBanderrorinputisPM,thenoutputisPB;
%%ifinputisPBanderrorinputisPB,thenoutputisPB;
1.输入为:
程序为:
x1=(18:
0.1:
40)'
;
y0=gaussmf(x1,[118]);
y1=gaussmf(x1,[121]);
y2=gaussmf(x1,[125]);
y3=gaussmf(x1,[129]);
y4=gaussmf(x1,[133]);
y5=gaussmf(x1,[137]);
y6=gaussmf(x1,[140]);
plot(x1,[y0y1y2y3y4y5y6])
2.误差图:
x1=(-2:
2)'
y0=gaussmf(x1,[0.5-2]);
y1=gaussmf(x1,[0.5-1.3]);
y2=gaussmf(x1,[0.5-0.7]);
y3=gaussmf(x1,[0.50]);
y4=gaussmf(x1,[0.50.7]);
y5=gaussmf(x1,[0.51.3]);
y6=gaussmf(x1,[0.52]);
3.程序为;
x=35;
ex=-0.8;
%defineinputtypeinfuzzyzone
y0=gaussmf(x,[118]);
y1=gaussmf(x,[121]);
y2=gaussmf(x,[125]);
y3=gaussmf(x,[129]);
y4=gaussmf(x,[133]);
y5=gaussmf(x,[137]);
y6=gaussmf(x,[140]);
a=[y0y1y2y3y4y5y6];
b=max(a);
%caculateinputinfuzzyzone,getinput_typeandinput_authorityvalue
ifx<
=40&
x>
=18
ifb==a
(1)
type='
NB'
authorityvalue=y0;
elseifb==a
(2)
NM'
authorityvalue=y1;
elseifb==a(3)
NS'
authorityvalue=y2;
elseifb==a(4)
ZE'
authorityvalue=y3;
elseifb==a(5)
PS'
authorityvalue=y4;
elseifb==a(6)
PM'
authorityvalue=y5;
elseifb==a(7)
PB'
authorityvalue=y6;
end
else
ifx>
40
authorityvalue=1;
elseifx<
18
end
type
authorityvalue
%errorcalculate.
ey0=gaussmf(x,[0.5-2]);
ey1=gaussmf(x,[0.5-1.3]);
ey2=gaussmf(x,[0.5-0.7]);
ey3=gaussmf(x,[0.50]);
ey4=gaussmf(x,[0.50.7]);
ey5=gaussmf(x,[0.51.3]);
ey6=gaussmf(x,[0.52]);
a=[ey0ey1ey2ey3ey4ey5ey6];
=2&
=-2
etype='
eauthorityvalue=y0;
eauthorityvalue=y1;
eauthorityvalue=y2;
eauthorityvalue=y3;
eauthorityvalue=y4;
eauthorityvalue=y5;
elseifb==a(7)
eauthorityvalue=y6;
2
eauthorityvalue=1;
-2
etype
eauthorityvalue
%caculateoutputby
iftype=='
&
etype=='
out=authorityval
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 控制系统 仿真