Bonjour,
Je dois creer un programme qui permet d'etudier diverses series de donnees statistiques de longueurs variables.
Je cherche en particulier a tracer les histogrammes qui comptent le nombre de fois ou un phenomene apparait. Par exemple, si le phenomene 0.2 apparait 3 fois la barre de mon histogramme sera a 3, et ainsi de suite.
Je dois ensuite transcrire ces donnees en probabilites. Donc s'il y a 12 donnees, pour 0.2 je voudrais que l'ordonnee de mon histogramme soit a 0.25.
Et enfin je cherche a trouver l'equation de la distribution qui relie les points de mon histogramme.
Pour l'instant la partie mon code qui traite ces problemes ressemble a ca :
Voici la courbe que j'obtiens pour l'une des series de donnes a ma disposition pour creer ce code :
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
30
31
32
33 tx = 0:Tt:max(intervalx); %Echelle de temps pour ma serie de donnees intervalx que j'etudie nx = hist(intervalx,tx); Ntotal=0; for i=1:length(nx) Ntotal=Ntotal+nx(i); end nx=nx/Ntotal; %J'etudie des probabilites donc je souhaite remettre mon histogramme en %pourcentage et non en nombre d'apparition d'une valeur t = linspace(0,max(nx)); f = ksdensity(nx,t,'function','pdf'); %J'utilise ksdensity pour trouver le pdf de ma distribution. Est-ce la %meilleure solution ? figure hold on plot(t,f) bar(tx,nx) %Je n'arrive pas a mettre les 2 graphs sous la meme echelle. Je voudrais %que 1 soit la valeur maximale ... %DFITTOOL(nx); xlabel('Time') ylabel('Probability') title('Probabilities to change one energy unit') set(legend('x'));
En gros la courbe a bien la bonne "forme" par rapport a l'histogramme, mais pas du tout la bonne echelle.
J'ai note mes questions dans mes commentaires. J'ai donc des problemes avec la fonction ksdensity, je ne sais pas si je l'utilise bien et s'il y a une meilleure fonction pour mon probleme, et meme chose pour la fonction hist finalement, vu que je souhaite avoir toutes mes donnees avec une valeur maximale de 1.
Merci d'avance (et desole pour le manque d'accent, je suis aux USA pour un stage j'ai un clavier qwerty)
Partager