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.
Réponses
-
Ca me parait bien long comme code, il doit bien y avoir en scilab l'equivalent du code Xcas suivant:
m:=seq(sum(ranv(40,uniform,0,1)),j,1,1000); histogram(m,0,0.5);plot(normald(mean(m),stddev(m),x),x,13,27)
-
J'ai exécuté vos lignes de commandes dans xcas.
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 du mal à comprendre ce qui ne te convient pas dans ton code Scilab initial (j'ai réécris le code et placé côté à côté les graphiques dans les 2 cas, j'ai changé k=1000 en k=10000) :
k=10000 ; q=40 ; x=[0:1:q] // simulations de m L=rand(k,q) ; m=sum(L,"c") // espérance et variance de m mu=mean(m) ; va=mean((m-mu).^2) ; sigma=sqrt(va) // la loi normale de paramètres ceux de m xbis=[0:0.1:q] ; y=zeros(xbis) for j=1:length(xbis) y(j)=1/(sigma*sqrt(2*%pi))*exp(-(xbis(j)-mu)^2/(2*va)); end //graphiques subplot(1,2,1) ; histplot(x,m,style=2) ; plot2d(xbis,y,style=5) a=gca() ; a.grid=[1 1] ; a.thickness=1 subplot(1,2,2) ; histplot([0:0.5:q],m,style=2) ; plot2d(xbis,y,style=5) a=gca() ; a.grid=[1 1] ; a.thickness=1
-
Bonsoir,
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. -
Je ne vois pas du tout les histogrammes "en-dessous" de la courbe chez moi (scilab 5.5.2).
-
Bonjour,
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 ? -
Pas besoin de désinstaller la 6, tu peux avoir les deux versions simultanément (j'en ai trois simultanément).
-
@bulledesavon : difficile de se comprendre en effet sans savoir ce que chacun de nous observait chez lui. ;-)
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.2K Toutes les catégories
- 9 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 65 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 69 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 314 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 773 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres