从你在评论中的澄清来看,我相信稍微修改一下你的循环就能得到你想要的。
for (int k = 0 ; k < numOutputs ; k = k + 1) {
in = 0; //Reset in to 0 at the beginning of each output loop
for (int l = 0 ; l < numInputs ; l = l + 1) {
in = in + (inputs [l] * calcWeights [l + k*numInputs]) ;
}
out [k] = in + GetBias () ;
}
您还应该确保初始化上面所有的权重。
for (int j = 0 ; j < (numInputs * numOutputs) ; j = j + 1) {
calcWeights [j] = ((-1 * numInputs) + (((double) rand ()) % (1 * numInputs))) ;
}
对于一些样式的选择,我只想指出您可以替换
k = k + 1
简单地
++k
是的。同样地,你可以替换
in = in + ...;
具有
in += ...;