神经网络自适应控制(共6页).doc

上传人:飞****2 文档编号:13401136 上传时间:2022-04-29 格式:DOC 页数:6 大小:43KB
返回 下载 相关 举报
神经网络自适应控制(共6页).doc_第1页
第1页 / 共6页
神经网络自适应控制(共6页).doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《神经网络自适应控制(共6页).doc》由会员分享,可在线阅读,更多相关《神经网络自适应控制(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上神经网络自适应控制学院:电气工程与自动化学院专业: 控制科学与工程 姓名: 兰利亚 学号: 日期: 2015年6月25日 神经网络间接自适应控制摘要:自适应模糊控制系统对参数变化和环境变化不敏感,能用于非线性和多变量复杂对象,不仅收敛速度快,鲁棒性好,而且可以在运行中不断修正自己的控制规则来改善控制性能,因而受到广泛重视。间接自适应控制是通过在线辨识的到控制对象的模型。神经网络作为自适应控制器,具有逼近任意函数的能力。关键词:神经网络 间接自适应控制 系统辨识一、 引言自适应控制系统必须完成测量性能函数、辨识对象的动态模型、决定控制器如何修改以及如何改变控制器的可调参

2、数等功能。自适应控制有两种形式:一种是直接自适应控制,另一种是间接自适应控制。直接自适应控制是根据实际系统性能与理想性能之间的偏差,通过一定的方法来直接调整控制器的参数。二、 间接自适应系统分析与建模2.1系统的分析系统过程动态方程:y(k+1)= -0.8y(k)/(1+y2(k)+u(k),参考系统模型由三阶差分方程描述:ym(k+1)=0.8ym(k)+1.2ym(k-1)+0.2ym(k-2)+r(k)式中,r(k)是一个有界的参考输入。如果输出误差ec(k)定义为ec(k)=y(k)-ym(k),则控制的目的就是确定一个有界的控制输入u(k),当k趋于正无穷时,ec(k)=0.那么在

3、k阶段,u(k)可以从y(k)和它的过去值中计算得到:u(k)=0.8y(k)/(1+y2(k)+0.8y(k)+1.2y(k-1)+0.2y(k-2)+r(k) (1) 于是所造成的误差方程为:ec(k+1)=0.8ec(k)+1.2ec(k-1)+0.2ec(k-2) (2)因为参考模型是渐进稳定的,所以对任意的初始条件,它服从当k趋于无穷,ec(k)=0。在任何时刻k,用神经元网络N2计算过程的输入控制,即u(k)=-Ny(k)+0.8y(k)+1.2y(k-1)+0.2y(k-2)+r(k) (3)由此产生非线性差分方程:y(k+1)=-0.8y(k)/(1+y2(k)+Ny(k) +

4、0.8y(k)+ 1.2y(k-1)+0.2y(k-2)+r(k) (4) 故设计的要点是设计一个神经网络来逼近0.8y(k)/(1+y2(k)。2.2系统的建模设计过程第一步,用BP神经网络逼近,神经网络的结构包含三层:输入层、隐含层和输出层。BP网络的训练过程如下:正向传播是输入信号从输入层经隐层传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。第二步,输入测试样本,对神经网络的逼近程度进行测试,将测试后的期望输出与实际输出的曲线画出。第三步,控制器设计。将控制器设计为u(k)= -Ny(k)+0.8y(k)+1.2y(k-1)+0.2y(k-2)+r(k)。系统的

5、原理框图如下图所示。e参考模型控制器过程神经网络Nry系统的原理框图若将控制器设计成u(k),则可得到相应曲线。三、 系统的MATLAB编程clear all;close all;x=-10:1:10; %训练样本输入for i=1:21d(i)=0.8*x(i)/(1+x(i)2); %目标函数,期望输出endnx1=length(x); %样本的大小y=zeros(1,nx1); %输出初始化nx2=8; %隐含层的神经元个数times=20000; %学习次数w1=0.05*rand(nx2,1); %第一层的连接权值theta1=0.05*rand(nx2,1); %第一层的阈值w2=

6、0.05*rand(1,nx2); %第二层的连接权值theta2=0.05*rand(1); %第二层的阈值ux=0.2; %学习率for n=1:timesEpx=0; %误差初始化for i=1:nx1s1=w1*x(i)-theta1; %隐含层输入x1=1./(1+exp(-s1); %隐含层输出s2=w2*x1-theta2; %输出层输入y(i)=s2; %输出层输出error=d(i)-y(i);delta1=(error*(w2).*x1.*(1-x1);delta2=error;w1=w1+ux*delta1*x(i); %第一层权值修正w2=w2+ux*delta2*(x

7、1); %第二层权值修正theta1=theta1-ux*delta1; %第一层阈值修正theta2=theta2-ux*delta2; %第二层阈值修正Epx=Epx+0.5*error2; %误差输出endError(n)=Epx;epoch(n)=n;if Epx=0.01break;endendn,figure(1);subplot(221);plot(x,d,b-,x,y,r-);title(训练完后的期望输出与实际输出); grid on;subplot(222);plot(epoch,Error);title(训练误差输出);xlabel(epoch);ylabel(误差E);

8、grid on;xt=0:1:20;n3=length(xt);%dt=sin(xt);for i=1:21 dt(i)=0.8*xt(i)/(1+xt(i)2); %目标函数,期望输出endfor k=1:n3s1=w1*xt(k)-theta1;x1=1./(1+exp(-s1);s2=w2*x1-theta2;yt(k)=s2; Et(k)=dt(k)-yt(k);endsubplot(223);plot(xt,dt,b-,xt,yt,r:);legend(期望输出,实际输出);title(测试时的实际输出与期望输出);grid on;subplot(224);plot(xt,Et);t

9、itle(测试误差输出);xlabel(测试样本),ylabel(误差E);grid on;%control%u(k)=0.8*yf(k)+1.2*yf(k-1)+0.2*yf(k-2)+r(k);%final_y(k+1)=-0.8*final_y(k)/(1+final_y(k)2)+u(k);xf=0:1:20;n=length(xf);for i=1:21 d(i)=0.8*xf(i)/(1+xf(i)2); %目标函数,期望输出 fc(i)=0.8*xf(i)/(1+xf(i)2); %目标函数,期望输出endfor k=1:n3s1=w1*xt(k)-theta1;x1=1./(1

10、+exp(-s1);s2=w2*x1-theta2;yf(k)=s2;endu(1)=0.8*yf(1)+sin(2*pi/25); u(2)=0.8*yf(2)+1.2*yf(1)+sin(4*pi/25); for k=3:21 u(k)=0.8*yf(k)+1.2*yf(k-1)+0.2*yf(k-2)+sin(2*pi*k/25);endfor k=1:21 yt(k)=-fc(k)+u(k); final_y(k)=yt(k); if(k21) fc(k+1)=0.8*yt(k)/(1+yt(k)2); endendfigure(2);plot(xf,fc,-,xf,d,r-);gr

11、id on;%n1=length(fc) %n2=length(d) figure(3);plot(xf,u,b-,xf,final_y,r:,xf,fc,r-,xf,(u-final_y),:);grid on;四、 matlab仿真结果如下:下图所示的是利用神经网络训练后得到的仿真图:训练后的结果图测试时和训练时的目标函数期望输出:当 时得到的最后控制响应曲线为:五、 结论由上述仿真结果可以看出,间接自适应控制的神经网络,可以对复杂的非线性和不确定系统进行智能控制,神经网络的逼近能力起了重要的作用。神经网络对未知的过程进行离线辨识,再根据辨识结果以及参考模型进行控制器的设计,达到预期的效果。 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁