智能控制技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的
熟悉模糊控制器的设计,并且掌握神经网络模型。
二、实验内容
1 已知系统的传递函数为G(s)=e-/(10s+1)。假设系统给定为阶跃值r=30,系统初始值
r(0)=0。试分别设计
(1)常规的PID 控制器;
(2)常规的模糊控制器;
(3)比较两种控制器的效果;
(4)当通过改变模糊控制器的比例因子时,系统响应有什么变化
2 编写一个利用前向传播神经网络进行字符设别的程序。设神经网络为具有一个隐含层的BP 网络,需设别的字符有三个A、I 和O,其输入为4╳4 个像素的扫描输入。
目标输出分别为A=(1,-1,-1),I=(-1,1,1),O=(-1,-1,1)。网络为16 个输入节点、3 个输出节点、9 个隐含层节点。利用所编程序完成训练后,在输入样本为X=
(1,1,1,1,1,-1,-1,1,1,1,1,1,1,1,-1,1)时,求网络输出值。
三、实验内容以及结果分析
1 (1)常规PID控制器:
利用Ziegler-Nichols整定公式整定PID调节器的初始参数
由公式可得
P=18
Ti=
Td=0
SIMULINK仿真图
设定仿真时间为10s
仿真结果
(2)模糊控制器的设定
1 在matlab命令窗口输入“fuzzy”确定模糊控制器结构:即根据具体的系统确定输入、输出量。选取二维控制结构,即输入为误差e和误差变化ec,输出为u如下图所示
2 输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。首先我们要确定描述输入输出变量语言值的模糊子集,如{NB,NM,NS,ZO,PS,PM,PB},并设置输入输出变量的论域,然后我们为模糊语言变量选取相应的隶属度函数。如下图所示
3 模糊推理决策算法设计:即根据模糊控制规则进行模糊推理,并决策出模糊输出量。首先要确定模糊规则,即专家经验。如图。
制定完之后,会形成一个模糊控制规则矩阵,然后根据模糊输入量按照相应的模糊推理算法完成计算,并决策出模糊输出量。
4.对输出模糊量的解模糊:模糊控制器的输出量是一个模糊集合,通过反模糊化方法判决出一个确切的精确量,反模糊化方法很多,我们这里选取重心法。
SIMULINK仿真图
在模糊控制器的输入和输出均有一个比例系数,我们叫它量化因子,它反映的是模糊论域范围与实际范围之间的比例关系,这里模糊控制器输入的论域范围均为[-6,6],假设误差的范围是[-10,10],误差变化率范围是[-100,100],控制量的范围是[-24,24],那么我们就可以算出量化因子分别为,,8。量化因子的选取对于模糊控制器的控制效果有很大的影响,当输出量化因子调为10控制效果更好。
仿真曲线
(3)常规PID控制器和模糊控制器的比较
由仿真结果可见两种控制器对系统的各项性能指标都有了改进,常规PID还是有超调量,模糊控制器的超调量几乎为零。
2 以下程序:
A=[1 1 1 1;1 -1 -1 1;1 1 1 1;1 -1 -1 1];
I=[-1 1 -1 -1;-1 1 -1 -1;-1 1 -1 -1;-1 1 -1 -1];
O=[1 1 1 1;1 -1 -1 1;1 -1 -1 1;1 1 1 1];
X2=[1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 -1 1]';
X=[A(:) I(:) O(:)];
T0=[1;-1;-1];
T1=[-1;1;1];
T2=[-1;-1;1];
T=[T0 T1 T2];
[R N1]=size(X);
[S2 N1]=size(T);
S1=10;
net=newff(minmax(X), [S1 S2], {'tansig', 'tansig'}, 'traingdx'); w={2,1};
b={1};
b={2};
y1=sim(net,X);
='sse';
[net,tr]=train(net,X,T);
w={2,1};
b={1};
b={2};
y2=sim(net,X);
net1=net;
T1=[T T T T];
for i=1:10
X1=[X X (X+randn(R,N1)* (X+randn(R,N1)*]; [net1,tr]=train(net1,X1,T1)
end
y3=sim(net1,X);
[net1,tr]=train(net1,X,T);
w={2,1};
b={1};
b={2};
y5=sim(net,X2)
程序执行结果输出
y5 =
则为网络输出值。