智能控制--仿真作业

更新时间:2023-12-24 16:32:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

题目1: Fuzzy控制器与PID控制器的性能对比

?(t)Yd(t)-e(t)FC/PIDG(s)Y(t)

若G(s)为时变对象,传递函数分别为:

?0.5S20e20e20,G2(s)?,G3(s)?G1(s)?(2s?1)(4s?1)(2s?1)(4s?1)(2s?1)(4s?1)(2.2s?1) 分别设计PID控制器和Fuzzy控制器,并作性能对比。

?0.5S?(a)自噪声若?(t)??,采用周期为0.1。

(b)确定性扰动d?0.2?解:

1 PID控制器的设计

利用simulink设计PID控制器参数。然后将所需模块拖放至模型窗口,并按顺序进行连接。通过仿真图形,不断调节控制器参数,已达到所需图形,结构如图1所示:

图1 PID控制仿真结构

2 模糊控制系统设计

模糊控制系统原理图如图2所示:

r(t)

e(t) Ke 模糊 控制器 u(t) 被控对象 c(t) 1 de(t)Kc

图2 二维模糊控制系统原理图

— 其设计的原理图如图3所示:

图3 模糊控制器原理图

由题目知:这是一个两输入单输出的模糊控制器,设输入变量为偏差E和偏差变化率EC,输出变量为U。

① 输入量E: 基本论域为:[-6,+6];

量化论域为:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};

模糊子集为:{负大,负中,负小,负零,正零,正小,正中,正大} ={NB,NM,NS,NZ,ZO,PS,PM,PB}; ② 输入量EC:基本论域为:[-6,+6];

量化论域为:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}; 模糊子集为:{负大,负中,负小,零,正小,正中,正大} ={NB,NM,NS,ZO,PS,PM,PB}; ③ 输出量U:基本论域为:[-6,+6];

量化论域为:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6} 模糊子集为:{负大,负中,负小,零,正小,正中,正大} ={NB,NM,NS,ZO,PS,PM,PB}; (1)生成的模糊规则库如表1所示:

表1 模糊控制规则

2

E U EC NB NM NS ZO NB NM NS ZO PS PM PB NB NM NM NS NS ZO PS NM NM NM NS ZO PS PS NM NM NS ZO PS PS PM NS NS ZO PS PS PM PM PS NS ZO PS PS PM PB PB PM ZO PS PS PM PB PB PB PB PS PS PM PM PB PB PB 2)隶属度函数的建立(如图4(a),(b),(c)所示):

图4(a) E的隶属度函数

图4(b) EC的隶属度函数

3

图4(c) U的隶属度函数

(3)规则编辑器(如图5所示)

图5 规则编辑器

3 仿真分析

(1) 仿真原理图

图6 PID控制和模糊控制仿真图

4

(2) 仿真结果

(1)G201(s)?,PID控制和模糊控制的仿真图

(2s?1)(4s?1)

图7 无干扰PID和模糊控制(Kp=1,Ti=0.05,Td=0.6,K1=0.7,K2=0.5,K3=0.025)

图8 常值干扰PID和模糊控制(Kp=1,Ti=0.05,Td=0.6,K1=0.7,K2=0.5,K3=0.02)

图9 白噪声PID和模糊控制(Kp=1,Ti=0.05,Td=0.6,K1=0.7,K2=0.5,K3=0.027)(2)?0.5SG(s)?202控制和模糊控制的仿真图

s?1e,PID(2)(4s?1) 5

图10 无干扰PID和模糊控制(Kp=0.15,Ti=0.02,Td=0.2,K1=0.7,K2=0.9,K3=0.025)

图11 常值干扰PID和模糊控制(Kp=0.15,Ti=0.02,Td=0.2,K1=0.7,K2=0.9,K3=0.02)

图12 白噪声PID和模糊控制(Kp=0.15,Ti=0.02,Td=0.2,K1=0.7,K2=0.9,K3=0.027)3)5SG(s)?20,PID控制和模糊控制的仿真图

3e?0.(2s?1)(4s?1)(2.2s?1)6

图13无干扰PID和模糊控制(Kp=0.2,Ti=0.02,Td=0.4,K1=1.3,K2=4,K3=0.025)

图14 常值干扰PID和模糊控制(Kp=0.2,Ti=0.02,Td=0.4,K1=1.3,K2=4,K3=0.02)

图15 白噪声PID和模糊控制(Kp=0.2,Ti=0.02,Td=0.4,K1=1.3,K2=4,K3=0.027)4 仿真结果分析

7

(1)对于本次作业,调节Kp,Td,Ti,K1,K2,K3是关键,6个参数的取值不同,可能会导致仿真结果与真实结果相反。尤其是对于GG3(s)?2(s)?20e?0.5s

(2s?1)(4s?1) ,

20e?0.5s两个控制对象,尝试了很多

(2s?1)(4s?1)(2.2s?1)PID参数。

(2)通过仿真结果可知,PID控制器的参数会随着控制对象的不同而有所改变,而模糊控制器的参数却变化不大。说明模糊控制器具有很强的适应性。模糊控制能够有效的随机抑制干扰,并在系统遇到各种干扰时,及时对控制作用进行调整,并以很快的速度重新进入预先设定的稳态工作点,其抗干扰性能要优于常规的PID控制器。

(3)模糊控制的系统响应曲线比PID控制的系统响应曲线动态性能较好,鲁棒性比较强。常规PID控制器在快速性上显示了其优点,单纯的PID控制器显示了其鲁棒性较差的弱点,系统的抗干扰能力差,会出现较大的超调,甚至出现负超调现象。相比较PID控制系统,模糊控制性能曲线平滑,具有较小的超调量和良好的相对稳定性,稳定时间较短,但存在稳态误差。对于带有高阶或延时环节的控制对象,PID控制器的控制效果没有模糊控制器的效果好。总之,模糊控制对参数变化和结构变化的控制对象鲁棒性较好。

8

题目2:分析神经网络结构与逼近能力的关系

试分析神经网络结构与逼近能力的关系,采用NN逼近如下函数:

g(x)?1?sin(i?x),?2?x?2,其中i=1,2,4,8 4分别采用BP网络与RBF网络实现函数逼近,选定1-n-1的NN开始训练,随着i的增加来增加隐单元个数来分析隐单元个数对逼近精度的影响。 解:

一 采用BP网络算法实现:

注:以i为变量,改变i的取值得到相应的逼近图形付如下。 BP算法程序如下(程序是以i=1,n=3为例):

clc;

close all; i=1;

x=[-2:.05:2];

t=1+sin(i*pi*x/4); plot(x,t,'-')

title('要逼近的非线性函数'); xlabel('输入x');

ylabel('非线性函数'); n=10;

net=newff(minmax(x),[n 1],{'tansig' 'purelin'},'trainlm'); y1=sim(net,x); figure;

plot(x,t,'-',x,y1,'--')

title('未训练网络的输出结果'); xlabel('输入x');

ylabel('仿真输出-- 原函数-'); net.trainParam.epochs=50; net.trainParam.goal=0.01; net=train(net,x,t); y2=sim(net,x);

plot(x,t,'-',x,y1,'--',x,y2,'--')

title('训练后网络的输出结果'); xlabel('输入x'); ylabel('仿真输出');

仿真结果:

(1) i=1,需要逼近的函数如下所示:

9

当n=3时

当n=5时,

n=7时,

n=10时,

10

n=15时,

(2)i=2,需要逼近的函数如下所示:

n=3时,

n=5时,

11

n=7时,

n=10时,

n=15时,

12

(3)i=4,需要逼近的函数如下所示:

n=3时,

n=5时,

n=7时,

n=10时,

13

n=15时,

(4)i=8,需要逼近的函数如下所示:

n=3时,

n=5时,

14

n=7时,

n=10时,

n=15时,

分析:

以上的仿真是针对于i不变时,取不同的隐层的个数来揭示隐层的个数与仿

15

真精度的关系。由以上仿真可知,隐单元个数越多,则BP网络逼近非线性函数的能力越强,而同时网络训练所用的时间相对来说要长些。

二 采用RBF网络算法实现:

程序如下:

close all; clear all; i=1;

x=[-2:.05:2];

t=1+sin(i*pi*x/4);

net=newrb(x,t,0,0.5,10,1); Y=sim(net,x); figure;

plot(x,t , ' - ',x,t , ' + ',x,t, '. '); figure;

plot(x,x-t, ' *- ');

仿真结果:(1)i=1

(a)逼近曲线 NEWRB, neurons = 0, SSE = 14.0905 NEWRB, neurons = 2, SSE = 8.13212 NEWRB, neurons = 3, SSE = 2.34455 NEWRB, neurons = 4, SSE = 0.573953 NEWRB, neurons = 5, SSE = 0.121084 NEWRB, neurons = 6, SSE = 0.0338974 NEWRB, neurons = 7, SSE = 0.020359 NEWRB, neurons = 8, SSE = 0.00363946 NEWRB, neurons = 9, SSE = 0.000833231 NEWRB, neurons = 10, SSE = 0.000580975

(2)i=2

(b)网络逼近误差曲线

16

(a)逼近曲线 NEWRB, neurons = 0, SSE = 9.40734 NEWRB, neurons = 2, SSE = 8.04132 NEWRB, neurons = 3, SSE = 4.06884 NEWRB, neurons = 4, SSE = 0.575681 NEWRB, neurons = 5, SSE = 0.312375 NEWRB, neurons = 6, SSE = 0.180667 NEWRB, neurons = 7, SSE = 0.0720722 NEWRB, neurons = 8, SSE = 0.0239327 NEWRB, neurons = 9, SSE = 0.0121926 NEWRB, neurons = 10, SSE = 0.00646552

(3)i=4

(a)逼近曲线 NEWRB, neurons = 0, SSE = 31.9218 NEWRB, neurons = 2, SSE = 3.38972 NEWRB, neurons = 3, SSE = 1.07571 NEWRB, neurons = 4, SSE = 0.274709 NEWRB, neurons = 5, SSE = 0.098112 NEWRB, neurons = 6, SSE = 0.0900141 NEWRB, neurons = 7, SSE = 0.0682883 NEWRB, neurons = 8, SSE = 0.0290918 NEWRB, neurons = 9, SSE = 0.008644 NEWRB, neurons = 10, SSE = 0.004687

(4)i=8

(b)网络逼近误差曲线

(b)网络逼近误差曲线

17

(a)逼近曲线 (b)网络逼近误差曲线

NEWRB, neurons = 0, SSE = 39.9612 NEWRB, neurons = 2, SSE = 37.897 NEWRB, neurons = 3, SSE = 36.9207 NEWRB, neurons = 4, SSE = 27.1098 NEWRB, neurons = 5, SSE = 25.8589 NEWRB, neurons = 6, SSE = 21.0495 NEWRB, neurons = 7, SSE = 17.1665 NEWRB, neurons = 8, SSE = 9.62961 NEWRB, neurons = 9, SSE = 7.43989 NEWRB, neurons = 10, SSE = 1.52387

分析:

由RBF算法仿真结果可以看出,在i=1,2,4,8时,拟合情况都很好。另外,对于RBF网络逼近来说,由对函数的逼近误差可以看出,网络的逼近精度随着隐单元个数的增加而提高。 总结:

从上面的仿真可以看出,RBF与BP网络相比,不仅在理论上它是前向网络中的最优网络,而且学习方法也避免了局部最优问题。RBF与BP都能以任意精度逼近任意非线性函数,由于它们选用的激励函数不同,逼近性能也不同。

18

本文来源:https://www.bwwdw.com/article/s0u5.html

Top