Translate if statement in code to math

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일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

제품

질문:

2017년 9월 20일

편집:

2017년 9월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by