Lesson goal: Making a histogram with arrays

Previous: Arrays and recurrence relations | Home | Next: Histogram Pi's digits

A histogram is a very useful construct. It is a chart for displaying how frequent a given quantity might appear in an otherwise "random" stream of data. It usually involves bars that are drawn in proportion to how frequent a given number occurs. Histograms are very useful for exposing patterns in a stream of numbers.

Arrays are the perfect data type for creating histograms. In this lesson, we'll again analyze the "randomness" of our random number generator, but we'll make a histogram in the process.

Below is some code that will declare a histogram called hist and initally set the elements from -100 to 100 of it equal to zero. Next, using the for c=1,10000 do loop, we'll ask the computer to throw 10,000 random numbers. We'll choose each random number to exists, in variable i, between -100 and 100, the same as the bounds of our histogram, hist. With each random number in variable i, we'll create a histogram by incrementing the $i^{th}$ element of array hist with each random number.

The last for loop will make a simple plot of the histogram by drawing a line for each "bar" of the histogram. By looking at the histogram plot, what can you conclude about the random number generator?

Now you try. Fix the line right after the i = math.random(...) line to add one count to the $i^{th}$ element of the histogram stored in the array called hist.

Type your code here:


See your results here: