模糊控制设计及仿真实例智能控制作业_第1页
模糊控制设计及仿真实例智能控制作业_第2页
模糊控制设计及仿真实例智能控制作业_第3页
模糊控制设计及仿真实例智能控制作业_第4页
模糊控制设计及仿真实例智能控制作业_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程名称: 智能控制理论与技术授课老师: 徐华中学院: 自 动 化 学 院 专业名称: 控制科学与控制工程姓名: 廖桂潘 学 号: 104972093040 班级: 自研0902班 导师姓名: 刘教瑜 2010年9月1.一个三阶系统 ,其中a,b的值由自己设定,该系统具有非线性环节,如下图所示:依据上述条件设计一个模糊控制器:用matlab仿真,得出仿真结果,并通过改变a、b值对仿真结果的影响;改变隶属度函数,从仿真结果图分析隶属度函数,模糊化对系统的影响;解:(1) 取b0=0,b1=0,b2=1.5,a1=4,a2=2,a3=0,在simulink里建模如下图所示(2) 用gui建立fis

2、e和ec分别为系统输出误差和误差的变化量,u为控制输出,编辑其隶属度函数如下编辑模糊推理规则如下(3) 仿真结果如下2自己选定一个对象,设计一个神经网络控制系统。解:被控对象为y(k)=0.3y(k-1)+0.2y(k-2)+0.1u(k-1)+0.6u(k-2),采用单神经元pid控制,控制结构如下图所示: 采用有监督的hebb学习规则,控制算法及学习算法如下:式中,输入信号为方波:仿真程序如下:clear all;close all; x=0,0,0; xitep=0.40;xitei=0.35;xited=0.40; wkp_1=0.10;wki_1=0.10;wkd_1=0.10; e

3、rror_1=0;error_2=0;y_1=0;y_2=0;y_3=0;u_1=0;u_2=0;u_3=0; ts=0.001;for k=1:1:1000 time(k)=k*ts rin(k)=0.5*sign(sin(4*pi*k*ts); yout(k)=0.3*y_1+0.2*y_2+0.1*u_1+0.6*u_2; error(k)=rin(k)-yout(k); wkp(k)=wkp_1+xitep*error(k)*u_1*x(1);%p wki(k)=wki_1+xitei*error(k)*u_1*x(2);%i wkd(k)=wkd_1+xited*error(k)*u

4、_1*x(3);%d k=0.12; x(1)=error(k)-error_1; x(2)=error(k); x(3)=error(k)-2*error_1+error_2; wadd(k)=abs(wkp(k)+abs(wki(k)+abs(wkd(k); w11(k)=wkp(k)/wadd(k); w22(k)=wki(k)/wadd(k); w33(k)=wkd(k)/wadd(k); w=w11(k),w22(k),w33(k); u(k)=u_1+k*w*x;%control law if u(k)10 u(k)=10; end if u(k)-10 u(k)=-10; end

5、 u_3=u_2;u_2=u_1;u_1=u(k); y_3=y_2;y_2=y_1;y_1=yout(k); wkp_1=wkp(k); wkd_1=wkd(k); wki_1=wki(k);end figure(1); plot(time,rin,b,time,yout,r); xlabel(time(s);ylabel(rin,yout); figure(2); plot(time,error,r); xlabel(time(s);ylabel(error); figure(3); plot(time,u,r);xlabel(time(s);ylabel(u);仿真结果如下: 3.前向神

6、经网络拟合一个函数y=sin(x)*cos(10x),取n个样本,神经网络的层数和每层的点数可自定。解:1.画出待拟合函数的样本点 在matlab的“command window”输入以下命令: x=-pi:0.05:pi; y=sin(x).*cos(10*x); plot(x,y,r+)得到待拟合函数的样本点如下所示2.建立bp网络 建立2层bp神经网络,隐层神经元数目可改变,暂设n=50,输出层1个神经元。选择隐层和输出层神经元传递函数分别为tansig()和purelin(),网络训练采用默认的levenberg-marquardt算法trainlm。 继续在matlab的“comma

7、nd window”输入以下命令: n=50; net=newff(minmax(x),n,1,tansig,purelin,trainlm); y1=sim(net,x); figure;plot(x,y,r+,x,y1,-)得到初始网络的输出曲线如下图图中蓝色曲线即为未训练网络的输出,因为网络建立时权值和阈值初始化是随机的,所以网络输出结果很差,达不到拟合的目地,并且每次运行的结果也有所不同。3.网络训练 继续在“command window”输入以下命令: net.trainparam.epochs=50; net.trainparam.goal=0.01; net=train(net,x,y);训练后得到的误差变化过程如下图4.网络测试 对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论