I have a plot and i want to switch it to histogram ,how i can do it?

2 views (last 30 days)
clear all
numsteps=1000;
numwalks=1000;
stepmatrix = sign(rand(numwalks,numsteps)-0.5*ones(numwalks,numsteps));
posmatrix = (cumsum(stepmatrix,2))
mat=zeros(numwalks,1);
for j = 1:numwalks;
last = find(posmatrix(j,:)==0,1,'last');
if isempty(last)==0;
mat(j)=last;
end
end
mat
edges=-0.5:1:(numsteps+0.5)
[N,edges]=histcounts(mat,edges)
probability=N*(1/numwalks)
figure;
h1=plot(1:numsteps , probability(2:end));
figure
i write this code , and then i get what a plot like i want , but i want to plot it like a histogram
what should i add?
i try to add histogram(1:numsteps , probability(2:end)) but then i get an empty plot

Answers (2)

Walter Roberson
Walter Roberson on 16 Apr 2020
bar(mean([edges(1:end-1);edges(2:end)]),N)
This uses the center of the bin as the bar position.

Sean de Wolski
Sean de Wolski on 16 Apr 2020
Something like this
histogram(mat,edges,'Normalization','probability');
  3 Comments

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!