Reunion d'intervalles

Utilisation de Xcas

Modérateur : xcasadmin

magicvinni
Messages : 40
Inscription : dim. août 26, 2007 7:07 am
Contact :

Reunion d'intervalles

Message par magicvinni » mer. août 29, 2007 12:52 pm

Bonjour,

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

Merci

jjbat
Messages : 29
Inscription : jeu. juin 28, 2007 8:11 am
Localisation : Toulouse
Contact :

Message par jjbat » mer. août 29, 2007 7:25 pm

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.

magicvinni
Messages : 40
Inscription : dim. août 26, 2007 7:07 am
Contact :

Message par magicvinni » mer. août 29, 2007 7:35 pm

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

parisse
Messages : 5740
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » jeu. août 30, 2007 7:46 am

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.

magicvinni
Messages : 40
Inscription : dim. août 26, 2007 7:07 am
Contact :

Message par magicvinni » jeu. août 30, 2007 7:53 am

Merci, je vais regarder

Répondre