模糊控制设计及仿真实例智能控制作业

模糊控制设计及仿真实例智能控制作业

ID:43007436

大小:301.51 KB

页数:11页

时间:2019-09-25

模糊控制设计及仿真实例智能控制作业_第1页
模糊控制设计及仿真实例智能控制作业_第2页
模糊控制设计及仿真实例智能控制作业_第3页
模糊控制设计及仿真实例智能控制作业_第4页
模糊控制设计及仿真实例智能控制作业_第5页
资源描述:

《模糊控制设计及仿真实例智能控制作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.一个三阶系统,其中a,b的值由自己设定,该系统具有非线性环节,如下图所示:依据上述条件设计一个模糊控制器:①用MATLAB仿真,得出仿真结果,②并通过改变a、b值对仿真结果的影响;③改变隶属度函数,从仿真结果图分析隶属度函数,模糊化对系统的影响;解:①(1)取b0=0,b1=0,b2=1.5,a1=4,a2=2,a3=0,在SIMULINK里建模如下图所示(2)用GUI建立FISE和EC分别为系统输出误差和误差的变化量,U为控制输出,编辑其隶属度函数如下1111编辑模糊推理规则如下11(3)仿真结果如下112自己选定一个对象,设计一个神经网络控制系统。解:被控对象为y(k)=0.3y(k

2、-1)+0.2y(k-2)+0.1u(k-1)+0.6u(k-2),采用单神经元PID控制,控制结构如下图所示:采用有监督的Hebb学习规则,控制算法及学习算法如下:式中,输入信号为方波:仿真程序如下:clearall;closeall;x=[0,0,0]';xiteP=0.40;xiteI=0.35;xiteD=0.40;wkp_1=0.10;11wki_1=0.10;wkd_1=0.10;error_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;fork=1:1:1000time(k)=k*tsrin(k)=0.5*

3、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);%Pwki(k)=wki_1+xiteI*error(k)*u_1*x(2);%Iwkd(k)=wkd_1+xiteD*error(k)*u_1*x(3);%DK=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))+ab

4、s(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;%Controllawifu(k)>10u(k)=10;endifu(k)<-10u(k)=-10;endu_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);endfigure(1);11plot(time,r

5、in,'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');仿真结果如下:11113.前向神经网络拟合一个函数y=sin(x)*cos(10x),取n个样本,神经网络的层数和每层的点数可自定。解:1.画出待拟合函数的样本点在Matlab的“CommandWindow”输入以下命令:x=-pi:0

6、.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的“CommandWindow”输入以下命令:n=50;net=newff(minmax(x),[n,1],{'tansig','purelin'},'trainlm');y1=sim(net,x);figure;plot(x

7、,y,'r+',x,y1,'--')得到初始网络的输出曲线如下图11图中蓝色曲线即为未训练网络的输出,因为网络建立时权值和阈值初始化是随机的,所以网络输出结果很差,达不到拟合的目地,并且每次运行的结果也有所不同。3.网络训练继续在“CommandWindow”输入以下命令:net.trainParam.epochs=50;net.trainParam.goal=0.01;net=train(net,x,y);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。