MATLAB How Can I Introduce Probability into My MATLAB If Command?

  • Thread starter Thread starter Beer-monster
  • Start date Start date
  • Tags Tags
    Probability
AI Thread Summary
To introduce probability into a MATLAB if command for a Monte Carlo model, a random number can be generated using the `rand` function. The random number should be compared to a specified probability `p` to determine if a value flip should occur. Instead of a simple if/else structure, the code can be modified to check if the random number is less than `p`. If the condition is met, the value can be flipped using `I=1-I`. This approach allows for a probabilistic element in the binary array manipulation.
Beer-monster
Messages
285
Reaction score
0
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?
 
Physics news on Phys.org
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
 
  • Like
Likes Wrichik Basu
Back
Top