MATLAB神经网络应用之Elman神经网络

Elman神经网络通常由输入层、隐含层和输出层构成,它存在从隐含层的输出到隐含层输入的反馈。这种反馈连接的结构使得被训练后不仅能识别和产生空域模式,还能够识别和产生时域模式,在此只介绍创建Elman网络的newelm函数,该函数用于创建一个Elman神经网络。用于对输入波形进行振幅检测。
clear all;
T1=1:80;
X1=cos(1:20);
X2=3cos(1:20);
t1=ones(1,20);
t2=3
ones(1,20);
P=[X1 X2 X1 X2];
t=[t1 t2 t1 t2];
X=con2seq§;
T=con2seq(t);
plot(T1,cat(2,X{:}),’:’,T1,cat(2,T{:}),’-’);
[R,N]=size(X);
[S2,N]=size(T);
S1=10;
net=newelm(X,T,[S1,S2],{‘tansig’,‘purelin’},‘trainlm’);
xlabel(‘t’);
net.trainParam.epochs=5000;
[net,tr]=train(net,X,T);
y=sim(net,X);
hold on;
plot(T1,cat(2,y{:}),‘o’,T1,cat(2,T{:}),‘p’);
ylabel(‘振幅检测’);
xlabel(‘x’);
legend(‘输入信号曲线’,‘目标信号曲线’,‘输出信号曲线’,‘目标信号曲线’);
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

张德峰等编著-----【M】北京:机械工业出版社

猜你喜欢

转载自blog.csdn.net/m0_38127487/article/details/113866152