Histogramme et scilab
Bonjour,
Je ne sais pas si ce forum est fait pour le type de question que j'ai à poser. Mais je tente quand même, on verra bien.
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 :
Savez-vous comment remédier à ce problème ?
Merci pour votre contribution.
Je ne sais pas si ce forum est fait pour le type de question que j'ai à poser. Mais je tente quand même, on verra bien.
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=0:1:40; 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.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
La fonction histogram fait ce qu'il faut faire, à savoir : la hauteur des rectangles vaut 2 fois la fréquence de la classe. Par contre histplot de scilab ne le fait pas.
Je me dis que ça doit pouvoir se faire avec scilab, ce serait bizarre que l'on ne puisse pas le faire. Mais en lisant l'aide de scilab sur la fonction histplot, je ne trouve pas comment faire.
J'ai exécuté vos lignes de commande, vous obtenez comme moi : pour les deux histogrammes, la hauteur des rectangles est égale à la fréquence de la classe correspondante. Dans le graphique de gauche, tout va bien, car l'amplitude des classes valant 1, donc aire du rectangle= fréquence de la classe. Par contre pour le graphique de droite aire du rectangle $\neq$ fréquence de la classe. Donc l'histogramme est bien en dessous de la courbe en cloche. Il faudrait que la hauteur du rectangle soit égale à deux fois la fréquence de la classe pour que les rectangles "remontent" et que l'on "colle" à la courbe en cloche.
Il faut donc que je desinstalle la version 6 et installe la version 5.5.2 ou puis je par une manip régler le pbm sur la version 6 ?