Histogram Not Plotting Correctly

Hi, I'm trying to create a histogram for 100 random integers. Only problem is that the plot only shows one value - the last number. My 'for loop' is creating 100 integers, it's just not plotting. Thank you in advance, I'm trying to learn MATLAB by myself for next semester so sorry for asking here.
n = 100;
for k = 1:n
x = randi(5)
end
hist(x,10)

Answers (1)

KSSV
KSSV on 18 May 2022
Edited: KSSV on 18 May 2022
n = 100;
x = zeros(1,n) ;
for k = 1:n
x(k) = randi(5) ;
end
hist(x,10)
Loop is not required.
n = 100;
x = randi(5,1,n) ;
histogram(x,10)

1 Comment

The histogram edges would look nicer (centered on the integer values) if you told the function the values you're binning are integers so it can set the bin edges accordingly.
n = 100;
x = randi(5,1,n) ;
histogram(x, 10, 'BinMethod', 'integers')

Sign in to comment.

Asked:

on 18 May 2022

Commented:

on 18 May 2022

Community Treasure Hunt

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

Start Hunting!