
260 Chapter Six—Neural Network Implementations
}
else if (n_h >= sofm.arch.slabs[1].size.height)
{
n_h -= sofm.arch.slabs[1].size.height;
}
for (idx_w = -(sofm.env.cur_neighbor.width); idx_w <=
(sofm.env.cur_neighbor.width) ; idx_w++)
{
n_w = sofm.env.winner.width + idx_w;
if (n_w < 0)
{
n_w += sofm.arch.slabs[1].size.width;
}
else if (n_w >= sofm.arch.slabs[1].size.width)
{
n_w -= sofm.arch.slabs[1].size.width;
}
sofm.arch.slabs[1].neurons[n_h][n_w].delta_w[idx_pn] =
sofm.arch.slabs[0].neurons[0][idx_pn].out -
sofm.arch.slabs[1].neurons[n_h][n_w].w[idx_pn];
sofm.arch.slabs[1].neurons[n_h][n_w].delta_w[idx_pn] *=
(sofm.env.eta * neighbor_func(idx_h,idx_w));;
sofm.arch.slabs[1].neurons[n_h][n_w].w[idx_pn] ...