马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
关于 周开利,康耀红 编写的 神经网络模型及其matlab仿真程序设计上P65,3.神经网络用于信号预测,有一个问题:
既然是用输入信号的前两个时刻的值预测当前的值,我认为应该是这样的,用time=0.5和time=1可以预测time=1.5的值;用time=1和time=1.5可以预测time=2的值。依次类推。所以预测值要比原来值的少两个的。
结合程序就是:output{1}要比y少两个值,才合理呀?
我理解错了?请指导,谢谢。
下面是代码:
clear all;
time=0.5:0.5:20;
y=(rand(1,40)-0.5)*4;
p=con2seq(y);
delays=[1 2];
t=p;
net=newlin(minmax(y),1,delays,0.0005);
net.adaptparam.passes=70;
[net,a,output]=adapt(net,p,t);
hold on
subplot(3,1,1);
plot(time,y,'k*-');
xlabel('t','position',[20.5,-1.8]);
ylabel('随机信号s(t)')
axis([0 20 -2 2]);
subplot(3,1,2);
output=seq2con(output);
plot(time,output{1},'ko-');
xlabel('t','position',[20.5,-1.8]);
ylabel('预测输出信号y(t)')
axis([0 20 -2 2]);
subplot(3,1,3);
e=output{1}-y;
plot(time,e,'k-');
xlabel('t','position',[20.5,-1.8]);
ylabel('误差曲线e(t)')
axis([0 20 -2 2]);
hold off |