【发布时间】:2013-04-04 06:04:51
【问题描述】:
在 MATLAB 中,feedforwardnet(8) 创建一个前馈网络,其中一个隐藏层包含 8 个隐藏神经元。 MATLAB 将数值数据存储为双精度浮点 (double) by default。因此feedforwardnet(8) 等价于feedforwardnet(double(8))。
但是,feedforwardnet(int32(8)) 会引发以下错误:
Undefined function or variable 'ind'.
Error in network/subsasgn>setLayerSize (line 1170)
err = sprintf('"layers{%g}.size" must be a positive integer.',ind);
Error in network/subsasgn>network_subsasgn (line 180)
if isempty(err), [net,err] = setLayerSize(net,i,newSize); end
Error in network/subsasgn (line 13)
net = network_subsasgn(net,subscripts,v,netname);
Error in feedforwardnet>create_network (line 116)
net.layers{i}.size = param.hiddenSizes(i);
Error in feedforwardnet (line 69)
net = create_network(param);
为什么feedforwardnet() 不接受int32 作为参数?等效地,当给定int32(8) 作为参数时,为什么isposint()(在*network/subsasgn.m,第1169 行)不返回true?
代码已使用 MATLAB 2011a、2012a 和 2012b 进行了测试。
【问题讨论】:
标签: neural-network matlab