1 / 48

Calcul numérique (avec Maple)

Calcul numérique (avec Maple). Maplesoft http://www.maplesoft.com/ Maple version 9.5. Le logiciel de calcul formel Maple. Sources utilisées pour ce cours : Raphaël Giromini http://www.giromini.org/maple/index.html M. Chare (cours-tds années précédant 2006).

deron
Download Presentation

Calcul numérique (avec Maple)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Calcul numérique(avec Maple) Maplesoft http://www.maplesoft.com/ Maple version 9.5

  2. Le logiciel de calcul formel Maple • Sources utilisées pour ce cours : • Raphaël Giromini http://www.giromini.org/maple/index.html • 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 concaténation de suites concaténation de listes Sous-suite, sous-liste et concaténation

  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. Le 5ème élément est remplacé par la valeur 10 Quelques particularités des listes

  17. Extraction d’une sous-listepar un critère (fonction booléenne) sur la liste • On utilise la commande select

  18. Dernière remarque • On peut créer des listes de listes

  19. 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 { }.

  20. Les ensembles • Illustration :

  21. 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.

  22. Opérations sur les ensembles • Union, Intersection, Soustraction :

  23. Nombre d’éléments, Accès à un élément, sous-ensemble ... Nombre d’éléments Accès à un élément Sous-ensemble

  24. Extraction d’un sous-ensemblepar un critère (fonction booléenne) sur l’ensemble • On utilise la commande select

  25. 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.

  26. nombre de lignes nombre de colonnes Tableaux : Illustration

  27. 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.

  28. Liste  Tableau

  29. Nombre d’éléments, Accès à un élément...

  30. 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.

  31. Les tables - illustration

  32. Chapitre 4 : Graphiques … suite

  33. 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

  34. Courbes paramétrées - Illustration

  35. 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)

  36. Champs de vecteurs

  37. 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

  38. Fonctions implicites

  39. 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].

  40. 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);

  41. 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)

  42. Exemple de système polaire

  43. Inégalités • Il est possible de tracer des courbes représentatives d’inégalités en utilisant la commande inequal

  44. 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 ...

  45. 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);

  46. 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 *

More Related