Plotting number distribution in Matlab

2 visualizaciones (últimos 30 días)
N/A
N/A el 27 de Oct. de 2016
Comentada: Image Analyst el 27 de Oct. de 2016
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
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'?
N/A
N/A el 27 de Oct. de 2016
Editada: N/A el 27 de Oct. de 2016
the n is the number of random integers I want to create. I would like to display the distribution of these integers in one figure. I'm unable to see the distribution of the integers. The generated integers are not reflected on the graph. I get the same visual regardless of the input I provide and regardless of the range of the integers

Iniciar sesión para comentar.

Respuestas (1)

Image Analyst
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
N/A
N/A el 27 de Oct. de 2016
Thanks for that code. You stated that A is a single number and taking a histogram of that won't capture most of the bins. is that still valid for the code you provided?
Image Analyst
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.

Iniciar sesión para comentar.

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!

Translated by