📄 p6.34.txt
字号:
%2个正弦函数
p1=sin(1:20);
p2=sin(1:20)*2;
%期望为对应的振幅
t1=ones(1,20);
t2=ones(1,20)*2;
%组合序列为样本
p=[p1 p2 p1 p2];
t=[t1 t2 t1 t2];
%显示
time=1:80;
plot(time,p,time,t,'--')
title('输入信号与目标信号');
xlabel('时间');
ylabel('输入和目标');
Pseq=con2seq(p);
Tseq=con2seq(t);
%一个输入,一个输出神经元
R=1;
S2=1;
%10个反馈神经元
S1=10;
net=10;
net=newelm([-2 2],[S1 S2],{'tansig','purelin'},'traingdx');
%训练参数
net.trainParam.epochs=500;
net.trainParam.goal=0.01;
%显示过程
[net,tr]=train(net,Pseq,Tseq);
semilogy(tr.epoch,tr.perf)
title('Elman网络的均方差');
xlabel('步长');
ylabel('均方差');
%测试
a=sim(net,Pseq);
time=1:length(p);
plot(time,t,'--',time,cat(2,a{:}))
title('输入信号与目标信号');
xlabel('时间');
ylabel('输入和目标');
%拓展应用
p3=sin(1:20)*1.6;
t3=ones(1,20)*1.6;
p4=sin(1:20)*1.2;
t4=ones(1,20)*1.2;
pg=[p3 p4 p3 p4];
tg=[t3 t4 t3 t4];
pgseq=con2seq(pg);
%仿真
a2=sim(net,pgseq);
time=1:length(pg);
plot(time,tg,'--',time,cat(2,a2{:}))
title('输入信号与目标信号');
xlabel('时间');
ylabel('输入和目标');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -