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

2 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 Live Scripts and Functions 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!