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

2 次查看(过去 30 天)
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

回答(2 个)

Walter Roberson
Walter Roberson 2020-4-16
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 2020-4-16
Something like this
histogram(mat,edges,'Normalization','probability');
  3 个评论

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Histograms 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by