神经网络Matlab编程程序代码_第1页
神经网络Matlab编程程序代码_第2页
神经网络Matlab编程程序代码_第3页
全文预览已结束

下载本文档

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

文档简介

神经网络Matlab编程程序代码

clearall;

closeall;

xite=0.25;

alfa=0.05;

S=1;

IN=4;H=5;Out=3;

ifS==1

wi=[-0.6394-0.2696-0.3756-0.7023;

-0.8503-0.2013-0.5024-0.2596;

-1.07490.5543-1.6820-0.5437;

-0.3625-0.0724-0.6463-0.2859;

0.14250.0279-0.5406-0.7660];

wi_1=wi;wi_2=wi;wi_3=wi;

wo=[0.75760.26160.5820-0.1416-0.1325;

-0.11460.29490.83520.22050.4508;

0.72010.45660.76720.49620.3632];

wo_1=wo;wo_2=wo;wo_3=wo;

end

ifS==2

wi=[-0.28460.2193-0.5097-1.0668;

-0.7484-0.1210-0.47080.0988;

-0.71760.8297-1.60000.2049;

-0.08580.1925-0.63460.0347;

0.43580.2369-0.4564-0.1324];

wi_1=wi;wi_2=wi;wi_3=wi;

wo=[1.04380.54780.86820.14460.1537;

0.17160.58111.12140.50670.7370;

1.00630.74281.05340.78240.6494];

wo_1=wo;wo_2=wo;wo_3=wo;

end

x=[0,0,0];

u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;

y_1=0;y_2=0;y_3=0;

Oh=zeros(H,1);

I=Oh;

error_2=0;

error_1=0;

ts=0.001;

fork=1:1:6000

time(k)=k*ts;

ifS==1

rin(k)=1.0;

elseifS==2

rin(k)=sin(1*2*pi*k*ts);

end

a(k)=1.2*(1-0.8*exp(-0.1*k));

yout(k)=a(k)*y_1/(1+y_1^2)+u_1;

error(k)=rin(k)-yout(k);

xi=[rin(k),yout(k),error(k),1];

x(1)=error(k)-error_1;

x(2)=error(k);

x(3)=error(k)-2*error_1+error_2;

epid=[x(1);x(2);x(3)];

I=xi*wi';

forj=1:1:H

Oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j)));

end

K=wo*Oh;

forl=1:1:Out

K(l)=exp(K(l))/(exp(K(l))+exp(-K(l)));

end

kp(k)=K(1);ti(k)=K(2);td(k)=K(3);

Kpid=[kp(k),ti(k),td(k)];

du(k)=Kpid*epid;

u(k)=u_1+du(k);

ifu(k)>=10

u(k)=10;

end

ifu(k)<=-10

u(k)=-10;

end

dyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001));

forj=1:1:Out

dK(j)=2/(exp(K(j))+exp(-K(j)))^2;

end

forl=1:1:Out

delta3(l)=error(k)*dyu(k)*epid(l)*dK(l);

end

forl=1:1:Out

fori=1:1:H

d_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2);

end

end

wo=wo_1+d_wo+alfa*(wo_1-wo_2);

fori=1:1:H

dO(i)=4/(exp(I(i))+exp(-I(i)))^2;

end

segma=delta3*wo;

fori=1:1:H

delta2(i)=dO(i)*segma(i);

end

d_wi=xite*delta2'*xi;

wi=wi_1+d_wi+alfa*(wi_1-wi_2);

u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);

y_2=y_1;y_1=yout(k);

wo_3=wo_2;

wo_2=wo_1;

wo_1=wo;

wi_3=wi_2;

wi_2=wi_1;

wi_1=wi;

error_2=error_1;

error_1=error(k);

end

figure(1);

plot(time,rin,'r',time,yout,'b');

figure(2);

plot(t

温馨提示

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

评论

0/150

提交评论