Whats going wrong in Implementation of this gaussian bernoulli RBM? [closed]

I have a problem in finding negdata value. In particular multiplying with sigma. Could someone help in representing this equation vishid*sigma*poshidstates + visbias in matlab.

 poshidstates=poshidprobs > rand(numcases,numhid);
negdatapart=poshidstates*vishid'; %bsxfun(@rdivide,,sigmas));
negdatapart2= (sigmas)*negdatapart';
negdata= bsxfun(@plus,negdatapart2,repmat(visbiases,numcases,1));


   vishid*sigma*poshidstates + visbias, equation can be  written in Matlab as below. The

  negdatapart= bsxfun(@times, poshidstates*vishid',sigmas);