《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 36|回复: 0
收起左侧

[讨论] 线性神经网络预测

[复制链接]

签到天数: 3 天

[LV.2]偶尔看看I

发表于 6 天前 | 显示全部楼层 |阅读模式
我用采样间隔为0.01s,持续时间2s的正弦信号作为输入信号,构建一个线性神经网络,通过某一时刻的前6个输入信号采样值预测下一个信号的值,下面是我的程序
Time = 0:0.01:2;
T = sin(Time*8*pi);
Length = length(T);

p = zeros(6,Length);
for i = 1:6
    p(i,i+1:Length) = T(1:Length-i);
end
net = newlind(p,T);
a = sim(net,p);

hold on
h1 = plot(Time,T);
h2 = plot(Time,a,'r');
legend([h1,h2],'采样值','预测值');
xlabel('时间');
ylabel('目标信号/预测输出');
hold off
%网络误差图
e = T-a;
figure
plot(Time,e);
xlabel('时间');
ylabel('预测误差');



这是预测结果,与原信号一致,结果很好,但当我把输入信号p(i,i+1:Length) = T(1:Length-i);的定义变为p(i,i:Length) = T(1:Length-i+1);后,预测结果如下图

修改后的预测信号虽然与原信号一致,但产生偏移,求助有谁能给解释一下吗,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 陕ICP备08102094号  

GMT+8, 2017-4-25 22:26 , Processed in 0.108257 second(s), 14 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表