www.pudn.com > Matlab_Markov.rar > energy.m
function E = energy(k,s,y,mu,sigma,x,beta) [row_max,col_max] = size(x); row = s(1); col = s(2); E = (1/(2*sigma(k)^2))*(y(row,col)-mu(k))^2; rowp = row+1; if rowp>row_max rowp=1; end rowm = row-1; if rowm < 1 rowm=row_max; end colp = col+1; if colp>col_max colp=1; end colm = col-1; if colm < 1 colm=col_max; end E = E + beta*( (k~=x(rowp,col)) + (k~=x(rowm,col)) + (k~=x(row,colp)) + (k~=x(row,colm)) );