Bonjour tous,
j'ai fais un petit bout de code qui permet de générer des nombres aléatoirement et classer ensuite ces nombres dans 50 classes différentes.
j'ai utilisé pour ceci la commande "hist" de matlab et ça marche très bien (voir premier graphique).
le soucis et que j'essai à présent de faire ceci manuellement (car j'ai besoin de réutiliser ensuite certaines choses) mais je ne suis pas arrivé à faire un programme qui fait comme la fonction "hist" de matlab...
pourtant ma tentative me parait assez cohérente ??
pouvez vous me dire si vous voyez l'erreur dans mon code ? qu'es ce qui fait que je n'obtient pas la même chose qu'avec "hist" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 mu=16.3; sigma=0.315; nbDePoints=10000; nbDeclasses=50; %pour ne pas avoir loi centrée réduite X=mu+sigma*randn(nbDePoints,1); nb=hist(X,nbDeclasses); figure (1) subplot(2,1,1); hist(X,nbDeclasses) %j'effectue mes différentes classes réparties uniformement tailleClasse=(X(end)-X(1))/nbDeclasses; classes=zeros(1,nbDeclasses); for i=1:1:nbDeclasses classes(i)=X(1)+tailleClasse*i; end %maintenant je voudrais répartir mes 10000 points dans ces "n" classes nbAssocieClasses=zeros(1,nbDeclasses); for i=1:1:length(X) if(X(i)<classes(1)) nbAssocieClasses(1)=nbAssocieClasses(1)+1; else for j=2:1:nbDeclasses if(X(i)<classes(j) && X(i)>classes(j-1)) nbAssocieClasses(j)=nbAssocieClasses(j)+1; end end end end figure (1) subplot(2,1,2); bar(classes,nbAssocieClasses)
je vous remercie d'avance pour votre aide
A+
Partager