Page 1 sur 1

Reunion d'intervalles

Publié : mer. août 29, 2007 12:52 pm
par magicvinni
Bonjour,

Peut-on ecrire et simplifier des choses du genre [sqrt(2);3]U[1;2] qui donnerait [1;3] par exemple.

Merci

Publié : mer. août 29, 2007 7:25 pm
par jjbat
C'est peut-être un peu lourd mais cette fonction qui travaille avec deux paramètres (les deux intervalles fermés) doit convenir.

Code : Tout sélectionner

IntersectionInterv(I,J):={local a,j,mess,m,n;
a:=(left(I),right(I));
j:=(left(J),right(J));
m:=(max(a[0],j[0]), min(a[1],j[1]));
n:=(max(a[1],j[1]), min(a[0],j[0]));
if (m[0]> m[1]){ 
mess:= "l'intersection est vide et l'union ne peut pas être simplifiée ";
} else {
mess:= cat("l'intersection est l'intervalle [",m[0],";",m[1],"]"," et l'union est [",n[1],";",n[0],"]");}
return mess;
};
on l'utilise ensuite avec

Code : Tout sélectionner

I:=sqrt(2)..3; J:=1..3;
IntersectionInterv(I,J);
Je ne sais pas faire fonctionner les fonctions (intersect et union) prédéfinies dans xcas dans le cas où les ensembles ne sont pas de cardinaux finis.

Publié : mer. août 29, 2007 7:35 pm
par magicvinni
Merci pour la réponse,

En fait mon problème est plus compliqué, car j'ai des réunion, intersection, différences d'intervalles fermés, ouverts, semi-ouverts, bornés ou non;....
Je vais devoir étudier chaque cas

Publié : jeu. août 30, 2007 7:46 am
par parisse
en effet, les fonctions de xcas d'intersection, union ou soustraction ne fonctionnent qu'avec des ensembles de cardinaux finis. Pour des intervalles en toute généralité, ca doit pouvoir se faire avec une liste d'intervalles (représentant une union d'intervalles fermés) et une liste de valeurs exclues. Ensuite pour faire par exemple l'intersection, on appelle la fonction de J-Joel sur chaque couple d'intervalles (en renvoyant un intervalle plutot qu'un message), on garde la liste des intervalles non vides et on fait l'union des valeurs exclues appartenant à au moins une intersection. A vue de nez, je ne pense pas qu'il faille prévoir de traitement particulier pour les infinis.

Publié : jeu. août 30, 2007 7:53 am
par magicvinni
Merci, je vais regarder