If you have a bunch of distributions fi (say, n of them), and you convolve them all together into a distribution F∗:=f1∗

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899604
Joined: Mon Aug 02, 2021 8:13 am

If you have a bunch of distributions fi (say, n of them), and you convolve them all together into a distribution F∗:=f1∗

Post by answerhappygod »

If you have a bunch of distributions fi (say, n of them), and
you convolve them all together into a
distribution F∗:=f1∗f2∗f3............∗fn, then the larger n is, the
more F∗ will resemble a Gaussian
distribution. The conditions for the distributions fi is that: must
be 1) independent and 2)
identically distributed.
Here is an interesting code from the Matlab. This is from an
associate known as ImageAnalyst. Try to run
this code and see what happens after one convolution cycle and two
convolution cycles:
% Startup code.
clc; % Clear command window.
clearvars; % Get rid of variables from prior run of this
m-file.
workspace; % Make sure the workspace panel with all the variables
is showing.
close all; % Close all imtool figures.
format long g;
format compact;
fontSize = 20;
% Define initial data
% m = ones(1, 10) % Pick uniform, or random data to start
with.
m = rand(1, 10);
iteration = 0;
again = 1;
while again == 1 && iteration < 12
% Plot it:
plot(m, 'b.-', 'LineWidth', 2, 'MarkerSize', 30);
grid on;
caption = sprintf('This was after %d convolutions.',
iteration);
title(caption, 'FontSize', fontSize);

% Set up figure properties:
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
% Get rid of tool bar and pulldown menus that are along top of
figure.
set(gcf, 'Toolbar', 'none', 'Menu', 'none');

% Do the convolution for this iteration:
m = conv(m,m, 'full');
% Normalize it so we don't overflow.
m = m / max(m);
% See if user wants to do another iteration.
promptMessage = sprintf('This was after %d convolutions.\nDo you
want to do another iteration,\nor
Cancel to abort processing?', iteration);
titleBarCaption = 'Continue?';
button = questdlg(promptMessage, titleBarCaption, 'Continue',
'Cancel', 'Continue');
if strcmpi(button, 'Cancel')
again = false; % Bail out
break;
end
iteration = iteration + 1;
end
What are your observations?
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply