Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
Discussion fermée
#1 16-04-2017 10:29:48
- bibmgb
- Membre
- Inscription : 16-04-2017
- Messages : 25
Histogramme et scilab
Bonjour,
Avec scilab, j'ai simulé la somme de 40 v.a. i.i.d. de loi uniforme sur [0;1]. J'ai réalisé 1000 simulations et dessiné un histogramme dont les classes ont pour amplitude 1. J'ai voulu diminuer la taille de l'amplitude des classes et passer à 0.5. Le problème est que histplot a pris pour hauteur de rectangle la fréquence de la classe, alors que je voudrais qu'il prenne 2 fois la fréquence de la classe, pour m'approcher de la densité de la loi normale. Je vous mets mon code ci-dessous :
k=1000;
q=40;
m=zeros(1,k);
for i=1:k
L=zeros(1,q);
for j=1:q
L(j)=rand();
end
L=sum(L);
m(i)=L;
end
clf();
x=zeros(1,q);
for i=1:q+1
x(i)=i-1;
end
histplot(x,m,style=2)
// Calcul de la moyenne
mu=sum(m)/k;
// Calcul de la variance
va=sum((m-mu).^2)/k;
sigma=sqrt(va);
// Représentation de la loi normale
xbis=0:0.1:q;
y=zeros(1,q*10+1);
for j=1:q*10+1
y(j)=1/(sigma*sqrt(2*%pi))*exp(-(xbis(j)-mu)^2/(2*va));
end
plot(xbis,y)
a=gca()
a.grid=[1 1]
a.thickness=1
x=0:0.5:40;
histplot(x,m,style=2)
Savez-vous comment remédier à ce problème ?
Merci pour votre contribution.
Hors ligne
#2 04-05-2017 08:47:05
- PTRK
- Membre
- Inscription : 14-12-2016
- Messages : 101
Re : Histogramme et scilab
Bien trot tard, mais bon,
Je ne comprend pas ton problème: si tu fournis un jeu de donnée $X = (x_0,...x_k)$ à classer dans $Nmax$ classes ($c_0<c_1 < c_2 < ...<c _{Nmax}$), alors histplot représente pour tout $t \in C_i=]c_i,c_{i+1}[$ , $h(t) = \#(x_n \in C_i, \forall x_n \in X)$ tel que $\int_{c_0}^{c_{Nmax}} h(t)dt = 1.$ Et je n'ai pas compris ton histoire de hauteur de rectangle.
Pour ma part, il me semble bien approcher la loi $\mathcal{N}(\mu,\sigma^2)$. Dans le graphe ci dessus, amplitude de classe = $ | x_i-x_{i-1} |$
clear
xdel(winsid())
k=1000;
q=40;
// Calcul de la moyenne
mu=mean(m);
// Calcul de la variance
sigma=stdev(m);
// Représentation de la loi normale
xbis=0:0.1:q;
y = 1 ./ (sigma*sqrt(2*scilab.org/product/dic-mat-sci/M2SCI_doc.htm">%pi))*exp(-((xbis-mu)/sigma).^2/2);
// Amplitude de classes
pas = [2,1,0.5,q/k] // q/k : 1 classe par tirage
// nombre lignes et collones subplot
sp = ceil(sqrt(length(pas))) //lignes
sq = ceil(length(pas)/sp) //colonnes
figure
f=gcf();
f.background=-2
scilab.org/product/dic-mat-sci/M2SCI_doc.htm">for i=1:size(pas,'*')
subplot(sp,sq,i)
x=0:pas(i):q;
histplot(x,m)
plot(xbis,y,'r')
title(sprintf('Amplitude de classe: %f',pas(i)))
legend('Simulation','Loi Normale')
a=gca()
a.grid=[1,1] // affichage d'un grille sur les abscisses et ordonnées
a.grid_style=[9 9] // style pointillets legers
scilab.org/product/dic-mat-sci/M2SCI_doc.htm">end
Dernière modification par PTRK (05-05-2017 12:55:38)
Hors ligne
Pages : 1
Discussion fermée