Hi, My histogram is not showing what I would like can I get some help please?

9 views (last 30 days)
This is my code is running and making histogram as well, but not at the right place.
A=input('How many tossing would you like to do? ')
x= rand(A,1);
if(x<0.5),
toss = -1; %Head
else
toss = 1; %Tail
end
hist(x,-2:2)
Asyou can se one bar is at 0 and the other is at 1. I would like if Heads been shown at -1 and Tails at 1.
Thank you for any help.

Accepted Answer

Michael Madelaire
Michael Madelaire on 30 Dec 2018
Edited: Michael Madelaire on 30 Dec 2018
The problem is that you are not storing the answers/toss.
A=input('How many tossing would you like to do? ')
x= rand(A,1);
toss = nan(A,1);
for i=1:length(x)
if x(i)<0.5
toss(i) = -1; %Head
elseif x(i)>=0.5
toss(i) = 1; %Tail
else
disp('Error...')
end
end
histogram(toss)
Edit: If you want it more neat
A=input('How many tossing would you like to do? ')
x= rand(A,1);
above = x < 0.5;
x(above)=-1;
x(~above)=1;
histogram(toss)
  3 Comments
Image Analyst
Image Analyst on 31 Dec 2018
Or even more compact (though perhaps a little harder to understand):
numTosses = 100000
tosses = 2 * (rand(1, numTosses) < 0.5) - 1;
histogram(tosses)
Milan Sumegi
Milan Sumegi on 31 Dec 2018
Its ok I used the first one. I need write an essay about my codes so I need at least understand a bit. but thanx for the answare.

Sign in to comment.

More Answers (0)

Categories

Find more on Thermodynamics & Statistical Physics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!