Translate if statement in code to math

10 次查看(过去 30 天)
Hey,
I have this piece of code that I'm trying understand what is going on. I usually use R, but had to look at a piece of code from matlab.
So can anyone tell me what this if statement does in math??
prob = exp(-dE / kT);
if dE <= 0 I I rand() <= prob;
spin(row, col) = - spin(row, col);
Cheers, Emil

回答(1 个)

OCDER
OCDER 2017-9-21
编辑:OCDER 2017-9-21
prob = exp(-dE / kT);
%define probability as prob = e^(-dE/kT), where dE and kT are some value
if dE <= 0 || rand() <= prob
%if dE <= 0, OR a uniformly distributed random number from 0 to 1 is <= prob
spin(row, col) = - spin(row, col);
%negate the sign of the value stored at (row, col) position of a matrix called spin
end
%end of the if statement

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by