Page 1 sur 1

Problème ensemble de définition

Publié : dim. oct. 30, 2011 3:57 pm
par ahbsra
Bonjour,
je m'essaie à Xcas et là j'ai un problème.
En faisant:
resoudre((x²-4)/(x+2)=0)

Xcas me propose comme solutions -2 et 2.
Je devrais utiliser "assume" mais je ne vois pas comment faire.

Merci

Re: Problème ensemble de définition

Publié : dim. oct. 30, 2011 4:09 pm
par parisse
il n'y a pas de solutions completement satisfaisante a ce jour, le mieux est de faire une simplification de l'argument

Code : Tout sélectionner

resoudre(simplifier((x²-4)/(x+2))=0)
En effet, le denominateur est simplement ignore.

Re: Problème ensemble de définition

Publié : dim. oct. 30, 2011 4:27 pm
par ahbsra
Merci.
Mais comment faire de manière générale dans le cas où on résout dans un domaine "restreint".
Par exemple
sqrt(a(x))=b(x)
Et je me sers de l'équivalence avec
a(x)=(b(x))² et b(x) >=0

Autant pour moi, Xcas s'occupe de tout et donne les bonnes solutions, je viens de vérifier.
Où puis-je trouver les situations où Xcas rencontre des problèmes?

Re: Problème ensemble de définition

Publié : dim. oct. 30, 2011 4:36 pm
par parisse
Ce sont en general des valeurs discretes qui poseront probleme. C'est d'ailleurs une caracteristique des systemes de calcul formel, ils traitent bien mieux les cas generaux que les cas particuliers (par exemple equations ou systemes a parametres).

Re: Problème ensemble de définition

Publié : dim. oct. 30, 2011 5:14 pm
par ahbsra
J'en prends acte.
Merci

Re: Problème ensemble de définition

Publié : dim. oct. 30, 2011 6:19 pm
par alb
Excellent problème pour familiariser des élèves de seconde avec Xcas en début d'année.

Code : Tout sélectionner

Resoudre(E):={//E est une expression
  local N,D,solN,solD,inters,sol;
  N:=getNum(E);
  D:=getDenom(E);  
  solN:=resoudre(N);
  solD:=resoudre(D);
  inters:=solN intersect solD;
  sol:=solN minus inters;
  si dim(sol)==0 alors
    afficher("l'équation n'a pas de solution")
  fsi
  retourne convert(sol,list)
}
Par exemple:

Code : Tout sélectionner

f(x):=(sqrt(x)-2)/(x^2-16);
Resoudre(f(x))
Comme autre difficulté on peut penser à resoudre((x+2)*sqrt(x-2))
Juste une petite question:
Pour transformer un ensemble en une liste que les élèves maîtrisent vite j'ai fait [op(ensemble)]
Il y a plus simple pour un élève ?

Re: Problème ensemble de définition

Publié : lun. oct. 31, 2011 7:36 am
par parisse
convert(ensemble,list) est peut-etre plus naturel.

Re: Problème ensemble de définition

Publié : lun. oct. 31, 2011 7:49 am
par alb
Effectivement convert est très intuitif, il faudrait que je l'utilise plus souvent,
je modifie le programme ci-dessus.