function o = nnfwd(i,N,wh,wo) % o = nnfwd(i,N,wh,wo) MLP3 forward pass % i is a matrix of input pattern rows; % N is normalization [means; stds] for data in i % o are corresponding output pattern rows. % wh is the set of input-to-hidden weights % wo is the set of hidden-to-output weights % 2001-02-08 dpwe@ee.columbia.edu % $Header: $ isize = size(i, 2); osize = size(wo, 1); npat = size(i, 1); if length(N) == 0 N = ones(2, isize); end % Do all patterns at once ip = (i - ones(npat,1)*N(1,:))./(ones(npat,1)*N(2,:)); % Calculate forward hidsum = wh*[ip,ones(npat,1)]'; hidact = 1./(1+exp(-hidsum)); outsum = wo*[hidact;ones(1,npat)]; outact = 1./(1+exp(-outsum)); o = outact';