# distrX 2 Fabrique le vec. X de l'histogramme d'un vecteur distrX 2 # Calcul la distribution - vecteur X # set x = distrX(mag,0.2) # set y = distrY(mag,0.2) # Ici, les deux parametres input set donnees = $1 set intervalle = $2 sort {donnees} set limitebas = $($($(int($($(donnees[0])/$(intervalle))))-1)*$(intervalle)) set limitehaut = $(donnees[$($(dimen(donnees))-1)]) # defini des vecteurs de travail set bine = 0,$(int((limitehaut-limitebas)/intervalle)+2) set stat = bine*0 set bine2 = 0,$(2*(int((limitehaut-limitebas)/intervalle)+2)) set stat2 = bine2*0 # Compte la frequence dans chaque bin set k = int((donnees-limitebas)/intervalle) do i = 0, dimen(k) - 1 { define n (k[$i]) set stat[$n] = stat[$n] + 1 } # Ensuite, construit l'aspect physique de l'histogramme define dimension dimen(bine) do j = 0, dimen(bine) - 1 { set bine2[(2*$j)] = bine[$j] if ($j<$($dimension-1)) {set bine2[((2*$j)+1)] = bine[($j+1)]} set stat2[(2*$j)] = stat[$j] if ($j<$($dimension-1)) {set stat2[((2*$j)+1)] = stat[$j]} } # Enfin, l'histogramme est contenu dans X et Y set X = (bine2*intervalle)+limitebas set Y = stat2 set $0 = X # distrY 2 Fabrique le vec. Y de l'histogramme d'un vecteur distrY 2 #Calcul la distribution - vecteur Y # Ici, les deux parametres input set donnees = $1 set intervalle = $2 sort {donnees} set limitebas = $($($(int($($(donnees[0])/$(intervalle))))-1)*$(intervalle)) set limitehaut = $(donnees[$($(dimen(donnees))-1)]) # defini des vecteurs de travail set bine = 0,$(int((limitehaut-limitebas)/intervalle)+2) set stat = bine*0 set bine2 = 0,$(2*(int((limitehaut-limitebas)/intervalle)+2)) set stat2 = bine2*0 # Compte la frequence dans chaque bin set k = int((donnees-limitebas)/intervalle) do i = 0, dimen(k) - 1 { define n (k[$i]) set stat[$n] = stat[$n] + 1 } # Ensuite, construit l'aspect physique de l'histogramme define dimension dimen(bine) do j = 0, dimen(bine) - 1 { set bine2[(2*$j)] = bine[$j] if ($j<$($dimension-1)) {set bine2[((2*$j)+1)] = bine[($j+1)]} set stat2[(2*$j)] = stat[$j] if ($j<$($dimension-1)) {set stat2[((2*$j)+1)] = stat[$j]} } # Enfin, l'histogramme est contenu dans X et Y set X = (bine2*intervalle)+limitebas set Y = stat2 set $0 = Y