djg123456789 发表于 2007-3-6 13:52

请高手看看神经网络的问题!

各位大虾!
   我用newgrnn工具实现了一个时序序列的matlab程序,模拟时非常精确,可是测试时确出现了错误提示如下:
Warning: Divide by zero.
> In normprod at 73
In calca at 119
In network.sim at 204
In matlabRBF200703062 at 30

Y =

   NaN
这里的Y应该是0.9左右才对,请高手给与帮助,代码如下:
%-----------------------------------------------------------------------------------
p=[0.1254 0.2315 0.3297;
   0.2315 0.3297 0.4376;
   0.3297 0.4376 0.5425;
   0.4376 0.5425 0.6078;
   0.5425 0.6078 0.7119;
   0.6078 0.7119 0.8685]';
t=;

%画出待逼近的图
length_source=length(t)
figure
P=
plot(P,t,'r*:')
grid on
xlabel('样本数')
ylabel('学习误差')

%length_source(源数据数量)中神经网络的学习数据数
number_learn=5
%建立网络
spread=1
i=300
net=newgrnn(p(:,1:number_learn),t(1:number_learn),spread/i)

%模拟网络,做学习图
a=sim(net,p(:,1:number_learn))
hold on
plot(1:number_learn,a,'g+-')

%将测试样本代入网络
P_test='
Y=sim(net,P_test)
hold on
plot(number_learn+1:number_learn+1,Y,'g+-')

eight 发表于 2007-3-6 15:45

原帖由 djg123456789 于 2007-3-6 13:52 发表
各位大虾!
   我用newgrnn工具实现了一个时序序列的matlab程序,模拟时非常精确,可是测试时确出现了错误提示如下:
Warning: Divide by zero.
> In normprod at 73
In calca at 119
In network.sim ...


先搜索版面,n多神经网络的帖子

lxq 发表于 2007-3-6 16:42

回复 #1 djg123456789 的帖子

a =

    0.4376    0.5425    0.6078    0.7119    0.8685


P_test =

    0.6078
    0.7119
    0.8685


Y =

   0

没有出现错误提示

[ 本帖最后由 lxq 于 2007-3-6 16:46 编辑 ]

djg123456789 发表于 2007-3-6 17:42

谢谢所回的贴子!

谢谢你们注意到了我的帖子,即使没有报错,其结果Y的值也不是所希望的,希望得到的Y值在0.9左右.
谁有能力写出时序序列数据预测的神经网络matlab程序,并能得到预期结果,我有回报.我的一部分数据为:
9712.16 73654.82 70033.29 77034.94 228743.1 93485.81 99958.09 131614.98 125571.35 436505.64...
372540.99 43067.84 400994.45 318538.78 314433.57 184738.73 192849.47 225256.01 413494.31 240818.06...
528020.45 530678.8 392724.9 327003.24 673870.72 490860.08 199965.28 248496.44 58979.75 408251.38...
404195.5 278890.02 311446.31 4600631.6 281755.55 553986.46 860687.32 534107.13 156414.51 1079280.02...

我的QQ为413582988,欢迎加我!
页: [1]
查看完整版本: 请高手看看神经网络的问题!