Bonjour,
Je vois des choses bizarres avec la fonction round() (sur un vecteur) lorsque la valeur à arrondir est xxx.5 (pile au milieu).
Je fais:
v1=… some data…
v4=…some data…
v2 = round(1000 * (exp(1/v1)))
v3=exp(v4/v4[v2/2])
A un moment j’ai: v1[i]=2.479 => v2[i]=1497 et je trouve que v3[i] a été calculé avec v2/2=748 (i.e. arrondi vers le haut)
Mais à l’indice suivant j’ai: v1[i+1]=2.4559 => v2[i+1]=1503 et je trouve que v3[i+1] a été calculé avec v2/2=752 (i.e. arrondi vers le bas)
Autrement dit, il semble que
[1497/2] renvoie le 748ème élément, j’anticipe donc que round(1497/2)=round(748.5)=748
[1503/2] renvoie le 752ème élément, j’anticipe donc que round(1503/2)=round(751.5)=752
Avez-vous constaté de tels problèmes d’arrondis (parfois arrondi vers le haut, parfois vers le bas) lorsque la valeur à arrondir est pile xxx.5 ?
Merci par avance pour vos lumières.