Plotting number distribution in Matlab
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I create random integers based on the given N input and would like to plot these randomly generated numbers using hist and subplot. When I use disp(A) I see the generated integers just fine, but the plotting doesn't work. I need to plot them in one figure but in different subplots. I'm newbie so it might be something very basic that I'm missing.
My Code:
x=-4:.2:4;
for i = 1:n
A=round(-100+100*rand());
disp(A)
c=hist(A,-4:.2:4);
subplot(n,n,i)
bar(x,c(:,i))
end
Thank you for your time and help.
2 comentarios
Alexandra Harkai
el 27 de Oct. de 2016
What value are you giving for n?
You may want to write
subplot(1,n,i)
since for (n,n) it creates n*n subplots where you really only need 1*n or n*1.
What would you like to display in each subplot? What errors/problems do you see when you say 'plotting doesn't work'?
Respuestas (1)
Image Analyst
el 27 de Oct. de 2016
Try this:
edges = -4:.2:4;
n = 9;
rows = ceil(sqrt(n));
for k = 1:n
A = round(-100+100*rand());
disp(A)
subplot(rows, rows, k);
histObject = histogram(A, edges);
end
Of course I hope you know (but you probably don't) that A is a single number so taking the histogram of it will give only one count in one bin. Even worse, A can go from -100 to 0 and your bins only go from -4 to 4, so your bin's won't capture most of your counts at all!
3 comentarios
Image Analyst
el 27 de Oct. de 2016
No, because I made A a vector of thousands of numbers so now we WILL have a distribution. I also let the histogram() function decide upon the bin edges to use instead of specifying a range of [-4 to 4] that does not include most of the numbers in the distribution.
Ver también
Categorías
Más información sobre Line Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
