Plotting number distribution in Matlab
Ältere Kommentare anzeigen
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 Kommentare
Alexandra Harkai
am 27 Okt. 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'?
Antworten (1)
Image Analyst
am 27 Okt. 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 Kommentare
Image Analyst
am 27 Okt. 2016
I know. I told you so, and I told you why. I don't know what you were trying to do. I'm going to "fix" it by making some assumptions that A is an array of 5000 random numbers, and you get this:
n = 9;
rows = ceil(sqrt(n));
for k = 1:n
A = round(-100+100*rand(1, 5000));
subplot(rows, rows, k);
histObject = histogram(A);
caption = sprintf('Run #%d', k);
title(caption);
end

N/A
am 27 Okt. 2016
Image Analyst
am 27 Okt. 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.
Kategorien
Mehr zu Line Plots finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!