
%--- Genera m campioni dalla binomiale  Bin(n,p)
%--- per diversi valori di di n e p


close all;

% p piccolo
figure(1)
n=15; %
p=0.1;
m = 10000
x=binornd(n,p,m,1);
subplot(2,3,1)
histogram(x, 'Normalization','probability')

% p = 0.5
n=15;
p=0.5;
m=10000
x=binornd(n,p,m,1);
subplot(2,3,2)
histogram(x, 'Normalization','probability')

% p grande
n=15;
p=0.9;
m=10000
x=binornd(n,p,m,1);
subplot(2,3,3)
histogram(x, 'Normalization','probability')

% p piccolo, n grande (distribuzione di Poisson
n=100;
p=0.04;
m=10000
subplot(2,3,4);
x=binornd(n,p,m,1);

histogram(x, 'Normalization','probability')

% p = 0.5, n grande (distribuzione Normale)
n=100;
p=0.5;
m=10000
subplot(2,3,5)
x=binornd(n,p,m,1);
histogram(x, 'Normalization','pdf')
hold on
% approssimazione Bin(n,p)~ N(\mu, \sigma) con \mu=np e \sigma^2=npq
y = 30:0.1:70;
mu = n*p;
sigma = sqrt(n*p*(1-p));
f = exp(-(y-mu).^2./(2*sigma^2))./(sigma*sqrt(2*pi));
%sovrappongo la Gaussiana alla distribuzione empirica della Binomiale
plot(y,f,'LineWidth',1.5)
