Leçons de niveau 14

Introduction à Maple/Expressions en ligne de commande

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche
Début de la boite de navigation du chapitre
Expressions en ligne de commande
Icône de la faculté
Chapitre no 2
Leçon : Introduction à Maple
Chap. préc. :Présentation
Chap. suiv. :Fonctions
fin de la boite de navigation du chapitre
Icon falscher Titel.svg
En raison de limitations techniques, la typographie souhaitable du titre, « Introduction à Maple : Expressions en ligne de commande
Introduction à Maple/Expressions en ligne de commande
 », n'a pu être restituée correctement ci-dessus.

Introduction[modifier | modifier le wikicode]

Maple peut être utilisé comme une calculette, c'est-à-dire en posant des calculs (éventuellement successifs) pour obtenir une solution. Il est également possible de définir des variables où enregistrer les résultats des calculs. Enfin, on peut résoudre des équations simples en ligne de commande.

Calculs simples sur des nombres[modifier | modifier le wikicode]

Considérons le code suivant :

21 + 4*5 + 1;

Il s'agit d'une expression mathématique simple. Remarquons qu'une telle expression doit se terminer par un point-virgule (sinon, une erreur survient, cf. chapitre 9). En appuyant sur la touche entrée, Maple affiche le résultat suivant :

42

qui est bien le résultat attendu. Les opérations élémentaires que l’on peut effectuer de la sorte sont, entre autres :

Symbole Opération Exemple Résultat
+ Addition 40 + 2; 42
- Soustraction 43 - 1; 42
* Multiplication 21 * 2; 42
/ Division 84 / 2; 42
^ Puissance 2^8 ; 256 (2⁸)
mod Modulo 682 mod 80 ; 42 (car 42 ≡ 682 [80])
sqrt() Racine carrée sqrt( 1764 ) ; 42 (√1764)
! Factorielle 6! ; 720

Il en existe d'autres, moins élémentaires (partie entière, …).

Panneau d’avertissement Les opérations modulo et factorielle ne fonctionnent que pour des entiers. Le danger de la racine carrée est que Maple, en dehors des réels positifs, ne renvoie pas toutes les solutions (par exemple 2i comme racine de -4).

Enfin, Maple connait quelques constantes usuelles, dont les plus utiles sont :

  • π : Pi (avec une majuscule !) ;
  • i : I (avec une majuscule !) ;
  • e : e (en minuscule).

Exercice rapide : qu'affiche Maple pour cette expression ? (sqrt((12 * 13) + 13) + 7) * 2 + 1;

Affectation de variables[modifier | modifier le wikicode]

Il est possible d'enregistrer une valeur dans une variable :

x := 12;
Panneau d’avertissement Il est très important de bien écrire « := » sans quoi Maple retourne une erreur, ou, pire encore, ne vous dit rien — mais n'exécute pas votre commande.

Dans toute la suite du programme, on pourra utiliser x en lieu et place du nombre 12. En outre, on peut modifier la valeur de x :


x := 13;      (x est maintenant égal à 13)
x := x + 1;   (x est maintenant égal à 13 + 1 c'est-à-dire 14) 
x := x^x;     (x est maintenant égal à 1313)
etc.

Il n’est pas nécessaire d'affecter un nombre à une variable. En effet, Maple est un logiciel de calcul symbolique et donc gère très bien les symboles : une expression de la forme

x := y + z;

est tout à fait légitime. Si je demande à Maple d'afficher 2 * x + 15;, la ligne suivante apparaît à l'écran :

2y + 2z + 15

Il sera alors possible, si on le désire, de savoir ce que vaut cette expression pour n’importe quels y ou z.

Exercice rapide : qu'affiche Maple pour ce code ?

x := 12;
y := 14;
z := (x + y + 15)^2;
sqrt(z);

Affectation d'expressions[modifier | modifier le wikicode]

Une variable n’est pas nécessairement un nombre, ni un symbole — elle peut également contenir une expression :

probleme := (y + 5 = 12);
Panneau d’avertissement Remarquez que, pour une expression mathématique, l’égalité se note par un signe « = », alors que, pour une variable, l’affectation se note « := ».

Ici, nous allons chercher le y qui vérifie l'équation appelée probleme. Pour cela, introduisons la première fonction fondamentale de Maple : solve (qui signifie en anglais « résoudre »). Son utilisation est la suivante :

solve(expression à résoudre, variable recherchée)

Dans notre exemple :

probleme := (y + 5 = 12);
solve(probleme, y);

Maple affiche alors la ligne suivante :

y = 7

ce qui est bien une solution du problème, car 5 + 7 = 12. Si, d'aventure, il y avait eu plusieurs solutions comme dans l’expression y^2 = 25, alors Maple les aurait affichées ainsi (entre crochets) :

[ y = 5 ], [ y = -5 ]
Panneau d’avertissement Maple n'affiche pas toujours toutes les solutions. S'il y en a 3 ou plus, il répond par défaut un plat RootOf, qui est traité dans le chapitre 9.

Exercice rapide : qu'affiche Maple pour ce code ?

trinome := (2*x^2 + 5*x + 3 = 0) ;
solve(trinome, x);

Relations de comparaison[modifier | modifier le wikicode]

On peut facilement comparer deux nombres avec Maple.

Code Signification Exemple Résultat
= Égalité 3 = 3 vrai
< Plus petit que 1 < 4 vrai
> Plus grand que 4 > 4 faux
<> Différent de 1 <> 2 vrai
<= Plus petit ou égal 3 <= 5 vrai
>= Plus grand ou égal 4 >= 4 vrai
Panneau d’avertissement Faites attention aux derniers de cette liste, qui varient beaucoup d'un langage de programmation à l'autre.

Sommes et produits[modifier | modifier le wikicode]

Maple gère les sommes et les produits. Quand il connait la valeur exacte d'une somme infinie, il la donne. Sinon, on peut utiliser la fonction evalf pour qu’il en donne une valeur approchée.

sum(k,k=1..n);
product(k,k=1..10);

Types[modifier | modifier le wikicode]

Le type d'un objet Maple est l’ensemble des opérations auxquelles cet objet peut être soumis. On peut par exemple vérifier si certains entiers sont premiers (à l'aide de la fonction isprime) mais on ne pourra pas le faire pour des réels. Voici quelques types que l’on peut rencontrer :

  • integer pour les entiers ;
  • fraction ou rational pour les rationnels ;
  • float, realcons ou numeric pour les réels ;
  • complex pour les nombres complexes ;

On peut tester le type d'un objet Maple à l'aide de la fonction type :

Exercice rapide : qu'affiche Maple pour ce type ?

type(Pi,integer);

Il existe aussi le type boolean. Les booléens sont au nombre de trois :

  • True pour dire que c’est vrai ;
  • False pour dire que c’est faux ;
  • FAIL quand Maple est incapable de dire ;

Exercice rapide : qu'affiche Maple pour chacun de ces cas ?

is(0=1);
is(a^2-b^2=(a+b)*(a-b));
is(z>0);

En effet, dans le troisième, la variable z n'a pas été définie au préalable, donc Maple ne la connait pas.

Résumé[modifier | modifier le wikicode]

Nous avons vu qu’il était facile, en quelques lignes, de réaliser les opérations suivantes :

  • calculer des expressions (comme avec une calculette) ;
  • affecter des nombres à des variables, utiliser ces variables comme des nombres ;
  • affecter des variables à des variables, utiliser ces variables comme des symboles ;
  • affecter des expressions à des variables ;
  • résoudre des équations simples (par exemple, expressions polynomiales) avec solve ;
  • comparer deux valeurs numériques.

Dans le chapitre suivant, nous nous intéresserons aux fonctions et aux opérations que l’on peut effectuer sur elles : addition & multiplication, dérivation & intégration, représentation graphique…