Télécharger la présentation
1
Calcul numérique (avec Maple)
Maplesoft Maple version 9.5
2
Le logiciel de calcul formel Maple
Sources utilisées pour ce cours : Raphaël Giromini M. Chare (cours-tds années précédant 2006). José-Marconi Rodrigues (tps précédant 2006).
3
Brainstorming … qu’a t-on vu la dernière fois ?
4
Brainstorming … qu’a t-on vu la dernière fois ?
is, type and, or, not, `if` (expr, alt1, alt2) définition d’une procédure : proc, local Affichage : plot, with(plot), textplot
5
Chapitre 6 : Types de données fondamentaux
6
Rappel de la semaine dernière
Maple contient un grand nombre de types de données. Nous avons vu pour le moment les types : complex integer fraction float string
7
Rappel de la semaine dernière
Il existe de nombreux autres types « exotiques » : function, procedure, indexed, series, ::, .., uneval etc. Certains types sont également présents dans d’autres langages de programmation comme les types : suite (exprseq), liste (list), ensemble (set), tableau (array), table (table).
8
Suites En Maple, une suite est un ensemble d’expressions écrites dans un ordre donné et séparées par des virgules.
9
Listes En Maple, une liste est une « suite entourée de crochets ».
10
Suite Liste Pour passer d’une suite à une liste on ajoute des crochets [ ]. Pour passer d’une liste à une suite, on utilise la commande op.
11
Construction de suites génériques (séquence ou itération)
On utilise la commande seq ou bien la programmation par itération pour construire une suite générique.
12
Construction de suites génériques (séquence ou itération)
13
Accès à un n-ème terme (suite ou liste)
Pour accéder au n-ème terme d’une liste ou d’une suite, on écrit le nom de la variable suivi du numéro du terme entre crochets
14
Sous-suite, sous-liste et concaténation
concaténation de suites concaténation de listes
15
Quelques particularités des listes
Commandes propres aux listes : Nombre d’éléments : nops Substitution d’un élément sachant son nom: subs Substitution d’un élément sachant sa place: subsop Tri : sort.
16
Quelques particularités des listes
Le 5ème élément est remplacé par la valeur 10
17
Extraction d’une sous-liste par un critère (fonction booléenne) sur la liste
On utilise la commande select
19
Dernière remarque On peut créer des listes de listes
20
Les ensembles Un ensemble est une suite d’éléments qui ne se répètent pas et n’ont pas d’ordre particulier. En Maple un ensemble se saisit par une énumération d’expressions séparées par des virgules et entourée d’accolades { }.
21
Les ensembles Illustration :
22
Suite Ensemble Pour passer d’une suite à un ensemble on ajoute des crochets { }. Pour passer d’un ensemble à une suite, on utilise la commande op.
23
Opérations sur les ensembles
Union, Intersection, Soustraction :
24
Nombre d’éléments, Accès à un élément, sous-ensemble ...
25
Extraction d’un sous-ensemble par un critère (fonction booléenne) sur l’ensemble
On utilise la commande select
27
Tableaux Un tableau est une structure de données qui contient des éléments de même type. En Maple, la syntaxe pour déclarer un tableau nommé T est la suivante : T := array(type_de_tableau, fonction_index, liste_valeurs); - type_de_tableau : (optionnel) symetric, antisymetric, sparse, diagonal et identity. - fonction_index : décrit la façon dont les index varient. - liste_valeurs: (optionnel) valeurs contenues dans le tableau.
28
Tableaux : Illustration
nombre de lignes nombre de colonnes
29
Liste Tableau Pour passer d’une liste de liste à un tableau on utilise la commande convert(…, ‘array’). Pour passer d’un tableau à une liste de liste on utilise également la commande convert(…, ‘listlist’). Remarque : on peut définir un tableau, sans préciser ses dimensions, en donnant ses entrées sous la forme de liste de listes.
30
Liste Tableau
31
Nombre d’éléments, Accès à un élément...
32
Les tables Les tables sont une généralisation des tableaux si ce n’est que les indices sont n’importe quel type d’expression (chaîne, symbole, etc.). Les tables sont utiles uniquement dans le cadre de la programmation avancée.
33
Les tables - illustration
34
Chapitre 4 : Graphiques … suite
35
Courbes paramétrées La syntaxe pour tracer une courbe définie paramétriquement par le vecteur (f(t), g(t)) avec f et g des fonctions dépendant du paramètre t est : plot([f(t), g(t), t=intervalle]); Les crochets sont autour de toute l’expression
36
Courbes paramétrées - Illustration
37
Champs de vecteurs En physique, il peut être utile de tracer un champ de vecteurs (par exemple le champ de vecteurs d’une force magnétique, électrique ou gravitationnelle). Maple permet de tracer les champs de la forme (f(x,y), g(x,y)). La commande pour tracer un tel champ est définie par : fieldplot([f(x,y), g(x,y)], x=a..b, y=c..d, options)
38
Champs de vecteurs
39
Fonctions implicites Les fonctions implicites en deux dimensions sont définies par une relation de la forme f(x,y) = a. Elles peuvent être tracées en utilisant la commande implicitplot
40
Fonctions implicites
41
Graphes de points La commande peut aussi être utilisée pour relier des points entre eux, avec la syntaxe : plot([[a1,b1], [a2,b2], ... ,[an,bn]]); On peut fermer la courbe en mettant [a1,b1] = [an,bn].
42
Graphes de points plot([[-12, -1],[20,7], [21,3], [-11, -5], [-12,-1]]); plot([[-12, -1],[20,7], [21,3], [-11, -5], [-12,-1]], style=point);
43
Autres systèmes de coordonnées
Il suffit d’ajouter l’option coords = type bipolar, cartesian, cassinian, elliptic, hyperbolic, invcassinian, invelliptic, logarithmic, parabolic, rose, tangent … Exemple : cartesien (u, v) --> polaire (x, y) x = u*cos(v) y = u*sin(v)
44
Exemple de système polaire
45
Inégalités Il est possible de tracer des courbes représentatives d’inégalités en utilisant la commande inequal
46
Graphique en 3D... La syntaxe est similaire à la syntaxe de la commande plot: plot3d(expression, intervalle, options) On retrouve d’ailleurs les mêmes options : plusieurs courbes sur un même graphique, courbes paramétrées, nombreux systèmes de coordonnées ...
47
Exemples Une Fonction plot3d(sin(x*y), x=-Pi..Pi, y=-Pi..Pi, style=hidden); Une courbe paramétrée plot3d([ x*sin(y)*cos(y), x*cos(y)*cos(y), x*sin(y) ], x=0..2*Pi, y=0..Pi);
48
Les animations Une suite de graphes 2D ou 3D peut être animée grâce à la commande animate qui a la syntaxe suivante : animate ([f(x,t), x=a..b, t=c..d) où t représente le temps c’est-à-dire le paramètre à faire varier *
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.