// Trace la fonction de densité de n tirages de dés à 6 faces
// et la loi normale selon le théorème central limite
// initialisation
clear;
clf;
nbmax = 6; // nombre max de tirages
cmap = [coolcolormap(nbmax); 0, 0, 0];
xset("colormap", cmap);
// Fonctions
function [frequences]=tirages(n)
// calcule les fréquences de n tirage de dés par dénombrement
// entrées : n : nombre de tirages (entier)
// sorties : frequences : matrice de fréquences (réels)
N = 6^n; // nombre de valeurs possibles
resultats = zeros(N, n); // initialisation : résultats des tirages
for i = 1:n // n° de colonne
k = 6^(n - i); //à la colonne i : k valeurs 1, puis k valeurs 2...
for j=0:6^(i - 1) - 1
for jj = 1:6
resultats((6*j + jj - 1)*k + 1:(6*j + jj)*k, i) = jj;
end
end
end
//disp(resultats);
somme = sum(resultats, "c");
frequences_non_triees = tabul(somme);
frequences = gsort(frequences_non_triees, "lr", "i");
frequences(:,2) = frequences(:,2)/N; // normalisation des fréquences
endfunction
// Programme principal
mu0 = mean(1:6);
sigma0 = st_deviation(1:6);
for i=1:nbmax
XY = tirages(i);
sigma = sigma0*sqrt(i);
mu = i*mu0;
x = 0:0.25:XY($, 1);
y = pdfnormal(x, mu, sigma);
subplot(2, 3, i)
plot2d(x, y, style = nbmax+1)
plot2d3(XY(:, 1), XY(:, 2), style = i)
titre = string(i)+"d6";
xtitle(titre, "valeur", "fréquence")
end