The biggest problem right now is that Prob_o is global in calc_net. You need to pass it as an argument too. It's one of the drawback of having everything global by default, this kind of mistakes are sometimes hard to spot.
Otherwise the # get things in right dimensions for calculation below at line 55 is not necessary anymore. In these zeros(numO, 1) you don't need to put a 1, zeros(numO) gives you a vector of length numO, unlike in matlab where is gives you a matrix.
