next up previous contents index
suivant: Somme des cellules d'un monter: Les fonctions statistiques à précédent: Centre d'un intervalle :   Table des matières   Index


Centre d'un intervalle : center2interval

center2interval a comme argument un vecteur de réels V d'au moins deux composantes et éventuellement un réel comme deuxième argument.
center2interval renvoie un vecteur d'intervalles ayant pour centres les composantes de l'argument V : ces intervalles sont définis en commençant le premier intervalle, par le deuxième argument ou à défaut par (3*V[0]-V[1])/2.
center2interval est utile pour définir des classes à partir de leurs centres et du minimum des classes.
On tape :
center2interval([3,5,8])
Ou on tape car la valeur par défaut du deuxième argument est 2=(3*3-5)/2 :
center2interval([3,5,8],2)
On obtient :
[2..4,4..6,6..10]
On tape :
center2interval([3,5,8],2.5)
On obtient :
[2.5..3.5,3.5..6.5,6.5..9.5]
Attention
On ne peut pas mettre n'importe quoi comme deuxème argument!!!
On tape :
center2interval([5,7,8],4)
Ou on tape, car la valeur par défaut du deuxième argument est 4=(3*5-7)/2 :
center2interval([5,7,8])
On obtient :
"center2interval Bad Argument Value"
La fonction suivante peut vous permettre de trouver l'intervalle dans lequel il faut choisir le deuxème argument, quand il y a une solution!!!
En effet on doit pouvoir trouver a0, a1, a2... vérifiant :
a0 < a1 < a2.... et
a0 + a1 = 2*c0 = b0, a1 + a2 = 2*c1 = b1, a2 + a3 = 2*c2 = b2.... quand L = [c0, c1, c2...] avec c0 < c1 < c2....
On a donc :
a1 = b0 - a0,
a2 = b1 - a1 = b1 - b0 + a0,
a3 = b2 - a2 = b2 - b1 + b0 - a0
a4 = b3 - a3...
comme on doit avoir a0 < a1 et a1 < a2 (c'est à dire a1 < c1) il faut donc trouver a0 vérifiant a0 < c0 et b0 - c1 < a0 puis
a2 < a3 i.e. a0 < c2 - c1 + c0 et
a3 < a4 i.e.a3 < c3 b0 - b1 + b2 - c3 < a0...
On construit donc deux listes :
l1=[c0,c2-2*c1+2*c0...] et
l2=[2*c0-c1,2*c0-2*c1+2*c2-c3,..].
La condition que doit vérifier a0 est alors :
max(l1)<a0<min(l2).
debut_classes(L):={
local l1,l2, n,j, a, b;
n:=size(L);
L:=sort(L);
l1:=[L[0]];
l2:=[2*L[0]-L[1]];
for (j:=1;2*j+1<n;j++) {
l1:=concat(l1,l2[j-1]-L[2*j-1]+L[2*j]);
l2:=concat(l2,l1[j]+L[2*j]-L[2*j+1]);
}
if (irem(n,2)==1) {
j:=quo(n-1,2);
l1:=concat(l1,l2[j-1]-L[2*j-1]+L[2*j]);
}
a:=max(l2);
b:=min(l1);
if (a<b) return(]a,b[); else return ("impossible");
}
On tape :
debut_classes([5,7,8])
On obtient :
]3,4[
On tape :
center2interval([5,7,8],3.5)
On obtient :
[3.5 .. 6.5,6.5 .. 7.5,7.5 .. 8.5]
On tape :
interval2center([3.5 .. 6.5,6.5 .. 7.5,7.5 .. 8.5])
On obtient :
[5.0,7.0,8.0]

next up previous contents index
suivant: Somme des cellules d'un monter: Les fonctions statistiques à précédent: Centre d'un intervalle :   Table des matières   Index
Documentation de giac écrite par Renée De Graeve