Visualize Central Limit Theorem in Array Plot
This example shows how to use and configure the dsp.ArrayPlot
System object™ to visualize the Central Limit Theorem. This theorem states that if you take a large number of random samples from a population, the distribution of the means of the samples approaches a normal distribution.
Display a Uniform Distribution
The population for this example is a uniform distribution of random numbers between 0 and 1. Generate a sample set of the values in MATLAB® using the rand
function. Find their distributions using the histcounts
function.
numsamples = 1e4; numbins = 20; r = rand(numsamples,1); hst = histcounts(r,numbins);
Create a new array plot object and configure the properties of the array plot object to plot a histogram.
scope = dsp.ArrayPlot;
scope.XOffset = 0;
scope.SampleIncrement = 1/numbins;
scope.PlotType = 'Stem';
scope.YLimits = [0, max(hst)+1];
Call the scope to plot the uniform distribution.
scope(hst')
Display the Distribution of Multiple Samples
Next, simulate the calculation of multiple uniformly distributed random samples. Because the population is a uniformly distributed set of values between 0 and 1, we can simulate the sampling and calculation of sample means by generating random values between 0 and 1. As the number of random samples increases, the distribution of the means more closely resembles a normal curve. Run the release method to let property values and input characteristics change.
hide(scope); release(scope);
Change the configuration of the Array Plot properties for the display of a distribution function.
numbins = 201;
numtrials = 100;
r = zeros(numsamples,1);
scope.SampleIncrement = 1/numbins;
scope.PlotType = 'Stairs';
Call the scope repeatedly to plot the distribution of the samples.
show(scope); for ii = 1:numtrials r = rand(numsamples,1)+r; hst = histcounts(r/ii,0:1/numbins:1); scope.YLimits = [min(hst)-1, max(hst)+1]; scope(hst') pause(0.1); end
When the simulation has finished, the Array Plot figure displays a bell curve, indicating a distribution that is close to normal.
Inspect Your Data by Zooming
The zoom tools allow you to zoom in simultaneously in the directions of both the x- and y-axes or in either direction individually. For example, to zoom in on the distribution between 0.3 and 0.7, you can use the Zoom X option.
To activate the Zoom X tool, select Tools > Zoom X, or press the corresponding toolbar button. You can determine if the Zoom X tool is active by looking for an indented toolbar button or a check mark next to the Tools > Zoom X menu option.
Next, zoom in on the region between 0.3 and 0.7. In the Array Plot window, click on the 0.3-second mark and drag to the 0.7-second mark.