# Probability and If commands.

• MATLAB

## Main Question or Discussion Point

Hi

I'm working on my first matlab script that I've worked on from scratch. I've never taken a course in matlab, the only experience I've had is to modify a couple of other scripts. I'm hoping to develop my matkab skills with a 'relatively' simple monte carlo model: a 2D Ising model.

One part of my method is to take a binary array of zeros and ones, pick a 'random' element and switch the value from zero to one or vice versa. I've done this with a simple if/else command.

if I==1
I=0;
else I=1;
end

What I'd like to do is introduce a probability, so that the value flip will occur with a certain probability p. Is there anyway to add this into my if command or do I need tp try something more sophisticated?

Related MATLAB, Maple, Mathematica, LaTeX News on Phys.org
mfb
Mentor
You can generate a random number between 0 and 1 or between 0 and N (whatever Matlab can do easily) and then check if this random number is smaller than your target probability (or N times that probability). Flip if yes.
Code:
if rand<p
I=1-I;
end

• Wrichik Basu