1 / 14
文档名称:

智能控制作业.doc

格式:doc   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

智能控制作业.doc

上传人:顾生等等 2015/12/16 文件大小:0 KB

下载得到文件列表

智能控制作业.doc

文档介绍

文档介绍:实验一:模糊控制在MATLAB中的实现
一、实验要求
假定被控对象的传递函数为:
设计一模糊控制器,查看其阶跃响应。
二、实验原理
1、根据系统实际情况,选择e,de和u的论域
e range : [-1 1]
de range: [- ]
u range: [0 2]
2、e,de和u语言变量的选取
e 7个:NB,NM,NS,NZ,PZ,PS,PM,PB
de 7个:NB,NM,NS,Z,PS,PM,PB
U 7个:NB,NM,NS,Z,PS,PM,PB
3、模糊规则确定
4、隐含和推理方法的制定
隐含采用mamdani方法: max-min
推理方法:min
去模糊方法:重心法。
选择隶属函数的形式:三角型
三、实验步骤
1、在命令窗口中键入fuzzy,然后回车,出现如下图所示的画面
2、增加输入变量:edit---add variable----input,修改对应名称
3、修改各变量参数:双击e,修改属性:remove all MFs---add MFs
4、添加模糊规则
可以用view rules菜单命令查看模糊控制器的规则:
也可以用view surf 菜单命令查看模糊控制器的输出量
5、保存文件,,并导出到工作空间:
file---export---to workspace
6、仿真
1)在MATLAB输入simulink,新建mdl文件,拖入要使用的仪器:
2)连接仿真电路,并修改相应参数:
3)仿真结果显示:
系统输出:
误差及其变化率:
模糊控制器输出:
实验二:BP算法实现函数拟合
实验要求
设计BP网络对y=x^2进行拟合
实验原理
BP算法的基本思想是,学****过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传人,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学****训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学****次数为止。
三层BP网络拓扑结构:
BP算法实现步骤:
1)初始化
2)输入训练样本对,计算各层输出
3)计算网络输出误差
4)计算各层误差信号
5)调整各层权值
6)检查是否对所有样本完成一次轮训
7)检查网络总误差是否达到精度要求满足,满足则训练结束;不满足,则返回步骤2)
实验过程
基于matlab的BP算法编程如下:(采用二级网络)
%BP网络(自适应调节学****率)
tic%记录运行时间
clear
h=10; %隐层数量
v=rand(1,h); %隐层权矩阵
w=rand(h,1); %输出层权矩阵
wo=rand(1,1); %初始化阈值
vo=rand(1,h);
a=; %初始学****率
pre=; %精度控制
loop=50000; %最大循环次数
n=50; %样本数量
delta=2/n;%步长
x=zeros(1,n); %输入初始化
y=zeros(1,n); %期望输出初始化
yout=zeros(1,n); %拟合输出初始化
yhid=zeros(1,h); %隐层输出初始化
count=1; %循环次数
er2=0;aa=;bb=;%改进:自适应调节学****率
%训练
while count<loop
sum=0;%累计误差
for p=1:n
x(p)=(p-1)*delta-1;
y(p)=x(p)^2;
yhid=zeros(1,h); %隐层输出
for j=1:h
net_j=v(1,j)*x(p)-vo(1,j);
yhid(1,j)=1/(1+exp(-net_j));
end
net=yhid*w-wo;
o=1/(1+exp(-net));yout(p)=o; %系统输出
e=*(y(p)-o).^2 ; %输出误差
sum=sum+e;
errout=(y(p)-o)*(1-o)*o; %输出层误差信号
errhid=zeros(1,h);
for j=1:h
errhid(1,j)=w(j,1)*errout*(1-yhid(1,j))*yhid(1,j); %隐层误差信号