next up previous
suivant: Simplifications et ré-écritures monter: La prise en mains précédent: Travail sur les expressions

Résolution d'équations

L'outil général est solve

$ »$ solve(x^2-4*x+3=0,x); solve(x^2-x+3=0,x);

C'est assez classique et on retrouve cet outil sur les calculatrices de base. Ce qui l'est moins, c'est la capacité de résoudre des équations dépendant de paramètres.

$ »$ S:=solve(x^2 - s*x^2+p=0,x):

Vous avez remarqué que les solutions des premiers exemples sont affichées entre accolades. Interrogeons MuPAD :

$ »$ type(solve(x^2-4*x+3=0,x));

La réponse DOM_SET nous indique qu'il s'agit d'un ensemble. Nous verrons dans le paragraphe suivant consacré au calcul de 7! que ceci a une grande importance. Pour en revenir à notre équation du deuxième degré, l'ensemble des solutions comportera deux éléments, ou plutôt opérandes en langage MuPAD. Nous pouvons demander à notre logiciel préféré le premier élément de cet ensemble grâce à la commande

$ »$ op(S,1);

qui affiche le premier opérande de l'ensemble S.

Nous pouvons être également amenés à résoudre des équations non pas sur $ \mathbb{C}$ mais sur un intervalle donné. Par exemple, si nous voulons résoudre l'équation $ x^2=4$ sur $ \mathbb{R}^+$, nous indiquerons à MuPAD que notre $ x$ doit être positif

$ »$ assume(x>0);

$ »$ solve(x^2=4,x);

On peut sinon utiliser les ensembles habituels avec les notations suivantes

$ \mathbb{N}$ NonNegInt $ \mathbb{N}^*$ PosInt $ -\mathbb{N}^*$ NegInt
$ \mathbb{Z}$ Integer $ 2\mathbb{Z}$ Even $ 2\mathbb{Z}+1$ Odd
$ \mathbb{Q}$ Rational $ \mathbb{Q}^{*+}$ PosRat $ \mathbb{Q}^{*-}$ NegRat
$ \mathbb{R}$ Real $ \mathbb{R}^+$ NonNegative $ \mathbb{Q}^+$ NonNegRat
$ \mathbb{R}{*+}$ Positive $ \mathbb{R}{*-}$ Negative $ \mathbb{C}^*$ NonZero
$ i\mathbb{R}^*$ Imaginary $ i\mathbb{Z}^*$ IntImaginary $ \mathbb{P}$ Prime

$ »$ assume(x in Type::Positive): solve(x^2-4=0,x);

On peut résoudre également des systèmes linéaires

$ »$ reset():solve({x+2*y+a*z=-1,a*x+y+z=2,2*x+a*y-z=3},{x,y,z});

Il existe des outils d'algèbre linéaire plus adaptés que nous verrons plus tard.

On peut résoudre des inéquations

$ »$ solve(x^2-2*x-4>=2*x,x);

des équations trigonométriques

$ »$ solve(cos(x)=sin(x),x);

À vous d'imaginer d'autres situations...

Un « étudiant » taquin m'a par exemple proposé

$ »$ solve(cosh(x)=I*sinh(x),x);


next up previous
suivant: Simplifications et ré-écritures monter: La prise en mains précédent: Travail sur les expressions
moi 2005-06-08