Introduction à Maple

Documents pareils
Maple: premiers calculs et premières applications

Premiers pas avec Mathematica

Cours d algorithmique pour la classe de 2nde

Mathématiques I Section Architecture, EPFL

Comparaison de fonctions Développements limités. Chapitre 10

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Programmation C. Apprendre à développer des programmes simples dans le langage C

Exercices - Polynômes : corrigé. Opérations sur les polynômes

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Python - introduction à la programmation et calcul scientifique

Développements limités, équivalents et calculs de limites

Correction de l examen de la première session

Calcul Formel et Numérique, Partie I

Aide - mémoire gnuplot 4.0

ALGORITHMIQUE ET PROGRAMMATION En C

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Calcul Scientifique et Symbolique, Logiciels Licence Mathématiques UE N1MA3003. Alain Yger

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Évaluation et implémentation des langages

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Présentation du langage et premières fonctions

L ALGORITHMIQUE. Algorithme

1. Structure d'un programme FORTRAN 95

Calcul Formel et Numérique, Partie I

Cours 1 : La compilation

UE Programmation Impérative Licence 2ème Année

Limites finies en un point

Cours 7 : Utilisation de modules sous python

Rappels sur les suites - Algorithme

Les BRMS Business Rules Management System. Groupe GENITECH

Cours d Algorithmique et de Langage C v 3.0

Chapitre 6. Fonction réelle d une variable réelle

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Développements limités usuels en 0

Licence Sciences et Technologies Examen janvier 2010

L informatique en BCPST


Développements limités. Notion de développement limité

Corrigé des TD 1 à 5

Initiation à la programmation en Python

Conversion d un entier. Méthode par soustraction

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Bases de programmation. Cours 5. Structurer les données

Définitions. Numéro à préciser. (Durée : )

Algorithmique I. Algorithmique I p.1/??

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours d Informatique

Initiation à l algorithmique

Algorithmique et Programmation, IMA

Proposition de programmes de calculs en mise en train

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Machines virtuelles Cours 1 : Introduction

Continuité et dérivabilité d une fonction

Fonctions homographiques

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo Hello world!

Initiation à LabView : Les exemples d applications :

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Entraînement au concours ACM-ICPC

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

Auto-Entreprise : Activités : Eric SOTY - Siret n Formation Bureautique, continue d'adultes. Tél : Fax :

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

STAGE IREM 0- Premiers pas en Python

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Quelques tests de primalité

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Découverte du tableur CellSheet

CORRECTION EXERCICES ALGORITHME 1

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Algorithmes récursifs

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

1S Modèles de rédaction Enoncés

1 I ) Une première approche de l algorithme en seconde, saison 2010 _ Antoine ROMBALDI

Activités numériques [13 Points]

Exercice 1 Trouver l équation du plan tangent pour chaque surface ci-dessous, au point (x 0,y 0,z 0 ) donné :

Les chaînes de caractères

UE C avancé cours 1: introduction et révisions

Cours Informatique Master STEP

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

EES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot

Le calcul formel dans l enseignement des mathématiques

Algorithme. Table des matières

NOMBRES COMPLEXES. Exercice 1 :

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Les suites numériques

Technique opératoire de la division (1)

Chapitre 2 Le problème de l unicité des solutions

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Traceur de courbes planes

DOCM Solutions officielles = n 2 10.

Transcription:

Introduction à Maple Guillaume Vernade - guillaume.vernade@ens.fr 3 septembre 008 Ces TD sont en grande partie basés sur ceux de Nicolas Gast que vous pouvez trouver sur la page http ://www.eleves.ens.fr/home/gast/travail.html Plan de l année 1. Premier contact avec Maple. Variables et structures de données 3. Fonctions, utilisation du graphisme 4. Éléments de programmation et boucles itératives et conditionnelles 5. Suites 6. Fonctions et Développement limités 7. Primitives et intégrales 8. Approximation et interpolation 1 Introduction 1.1 Que trouve-t-on sur un ordinateur? Un ordinateur peut se décomposer en deux parties : l architecture physique (hardware) et l architecture logicielle (software). L architecture physique est en ensemble complexe qui fonctionne grâce à un système d exploitation. Le système d exploitation est le programme central qui contient les éléments de base nécessaires au bon fonctionnement de l ordinateur. Le système d exploitation alloue les ressources physiques de l ordinateur (temps processeur, mémoire etc.) aux différents programmes en cours d exécution. Il fournit aussi des outils aux autres programmes (comme les drivers) afin de leur faciliter l utilisation des différents périphériques sans avoir à en connaître les détails physiques. L utilisateur peut ensuite utiliser l ordinateur au moyen d applications, qui permettent de faire communiquer un être humain avec le hardware. C est à ce niveau là que nous allons jouer. 1. La programmation La programmation est l ensemble des activités qui permettent l écriture des programmes informatiques. L utilisateur est amené à écrire un code informatique, écrit dans un langage de programmation qui est ensuite exécuté par l ordinateur. On peut distinguer (au moins) 3 niveaux de programmation : Le langage assembleur : c est le langage le plus proche du langage machine : les instructions sont du type mettre la valeur a dans la zone mémoire b, incrémenter,... L assembleur n a aujourd hui que très peu d intérêt et n est pratiquement plus utilisé. Les langages compilés : dans la plupart des langages de programmation (par exemple c, c++, caml, fortran,...), les programmes sont écrits dans un langage lisible par un être humain puis transformé par un compilateur en un code qui sera directement exécuté par la machine. Les langages interprétés : dans un langage comme celui présent dans Maple, les instructions sont directement interprétées par le programme dans lequel elles sont exécutée et non transformées en un code plus obscure. Généralement les codes produits de cette façon sont plus lents mais plus rapide à déboguer. Un algorithme est un ensemble d instructions (écrites dans un langage courants) permettant de résoudre un problème. Il est indépendant de tout langage de programmation. Avant d écrire un programme, il est toujours fortement conseillé d écrire sur un papier l algorithme que l ont cherche à implémenter. Un algorithme très connu est l algorithme d Euclide qui calcule le PGCD de deux nombres :

PGCD (a,b) si a < b alors on calcule PGCD (b,a) sinon si b = 0 alors le resultat est a sinon soit r le reste de la division euclidienne de a par b on calcule PGCD (b,r) finsi finsi fin Utilisation de Maple.1 opérations de base En Maple, une commande se finit toujours par; ou :. Si elle se finit par :, Maple n affiche pas le résultat. Il est possible de regrouper plusieurs commandes sur la même ligne. 5+5; 4*4; 3/3: 10 La commande % permet de rappeler le dernier résultat calculé (et pas forcement celui affiché a la ligne du dessus), %% rappelle l avant dernier résultat et ainsi de suite. 5+5; %*; 10 0 Pour utiliser des puissances on utilise le symbole ˆ. ^4;. Variables Dans Maple comme dans tout langage de programmation, il possible d attribuer une valeur à une variable. Attention, le nom d une variable commence toujours par une lettre et peut ensuite être suivie de chiffres. ATTENTION : les majuscules ont une importance. toto3 := 8; ToTo3 := 6; toto3; ToTo3; toto3 * ; toto3 := 8 ToTo3 := 6 8 6 Une fois assignée, une variable conserve sa valeur jusqu à la fin de la session Maple. Il est possible de réinitialiser toutes les variables par la commande restart ou une seule avec unassign. toto := : titi := 3: toto; unassign( titi ); titi; titi

restart; toto; toto.3 Commenter votre code Afin de rendre plus lisible un programme ou une feuille de calcul, il est impératif d ajouter un certain nombre de commentaires tout au long des calculs. Un commentaire commence par # et va jusqu à la fin de la ligne. Les commentaires sont ignorés par Maple. Au concours il est fortement conseillé d expliquer ce que font vos algos en les commentant. toto := ; #on met la valeur à toto toto :=.4 Obtenir de l aide La commande? permet d accéder à l aide de Maple. Pour l utiliser, taper? commande;.? restart; restart clear internal memory Calling Sequences restart [...] 3 Calcul numérique et calcul symbolique On désigne par calcul numérique une suite d opérations arithmétiques mettant en jeu des valeurs numériques (ie des nombres). Il se différencie du calcul symbolique qui autorise l utilisation de symboles, définis ou non (x, cos, sin,,...) Généralement le calcul numérique donne un résultat approché, tandis que le calcul symbolique donne un résultat exact. Le calcul symbolique est beaucoup plus puissant que le calcul numérique. x^+x^3 - (*x + x^); #ceci est un calcul symbolique 3 x - x x := Pi; cos(3*x/); # ceci est un calcul numérique 0 3.1 Obtenir un résultat exact Maple essaie par défaut de rendre un résultat exact et donc pas nécessairement sous forme numérique. Pour le forcer à évaluer les résultats exacts, il y plusieurs méthodes : evalf marquer un nombre sous forme flottante (0.5 au lieu de 1/) Le nombre de chiffres après la virgule est défini par la variable Digits. Par défaut elle est remise à 10 par la commande restart ou à chaque nouvelle feuille de calcul. 1/ + ; evalf(%); 0.5 + ; 5/.500000000.5 evalf(cos(1)); 0.540303059 Digits := 40: evalf(cos(1)); 0.5403030586813971740093660744976603733

3. Développer, factoriser Maple dispose de nombreux outils permettant de travailler sur des expressions formelles. Voici par exemple 3 commandes fondamentales : expand(expr, expr1, expr,..., exprn) : développe les expressions simplify(expr) : tende de simplifier la formule. facor(expr) : factorise l expression. simplify (exp( 3+b*log(a))); 3 b e a expand((x+1)*(x+)); x + 3 x + factor(5* x^3 - *x^ + 18*x-1); (x - 1) (5 x - 17 x + 1) 3.3 Fonctions déjà implémentées Maple connaît de nombreuses fonctions mathématiques (beaucoup plus que vous, même d ici ans) ainsi que de nombreuses valeurs. On peut citer par exemple les fonctions trigonométriques (cos, sin, tan, arcsin, arccos, tanh, arctan,...), ln,log[a](b), exp(x). A noter que π s écrit Pi, que e s écrit exp(1). Maple peut aussi calculer sur des complexes, le i complexe s écrivant I. cos(pi); arctan(1); evalf(exp(10)); log[10](100); (1+I)^4; -1 Pi ---- 4 06.46579480675957900645844436635-4 3.4 Résoudre des équations Maple peut aussi résoudre des systèmes d équations en utilisant la commande solve. solve(x^3+x^+x +1= 0, x); -1, I, -I La réponse est parfois donnée sous la forme RootOf(...). On utilisera la commande allvalues(%); pour expliciter la ou les solution(s) solve({x+y=1, x*y=},{x, y}); { y = RootOf(_Z - _Z +, label = _L1), x = -RootOf(_Z - _Z +, label = _L1) + 1} allvalues(%); 1 1 (1/) 1 1 (1/) 1 1 (1/) 1 1 (1/) { x = - - - I*7, y = - + - I*7 }, { y = - - - I*7, x= - + - I*7 }

3.5 Tracer une courbe Pour tracer une courbe, il faut utiliser la commande plot (expr, intervalle). plot(x^3+x+1, x=0..1); [graphe] plot(cos(x/(5+x))+3*x-, x=0..1, y=-1..5); [graphe] 4 Exercices Exercice 1 Afficher le résultat de cos( 3π 5 ) de façon exacte puis avec 7 chiffres après la virgule Calculer cos( xπ ) pour x = 1, et 3 avec 7 chiffres significatifs Exercice Développer cos(x) + sin(x) Montrer que arctan(a) = arctan(b) + arctan( a b 1 + ab ) Exercice 3 Montrer que cos(a)sin(b) = 1 (sin(a + b) sin(a b)) cos(a)cos(b) = 1 (cos(a + b) + cos(a b)) Exercice 4 Tracer cos() + sin(x/) pour x variant entre -5 et 4. Tracer 3x 3 4x + 10 pour x variant entre - et 1. Combien ce polynôme a-t-il de racines réelles? Trouver une approximation de sa (ses) racine(s) a 10 près. Exercice 5 (Si vous en êtes arrivé là, appelez moi) Implémenter l algorithme d Euclide vu plus haut. Vous aurez besoin des fonctions iquo,irem et de if...then...else...fi. Cherchez dans l aide pour plus d infos.