Calcul numérique (avec Maple)

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Chapitre annexe. Récursivité
Portée des variables VBA & Excel
Calculs de complexité d'algorithmes
M. DELTA A ETE CHOISI CETTE ANNEE PAR LE RECTEUR POUR CORRIGER LEPREUVE DE MATHEMATIQUE DU DPECF (DIPLÔME PREPARATOIRE AUX ETUDES COMPTABLES ET FINANCIERE).
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Boucles §
GEF 243B Programmation informatique appliquée Expressions et opérateurs §
GEF 243B Programmation informatique appliquée Expressions et opérateurs.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Calcul numérique (avec Maple)
Calcul numérique (avec Maple)
5. Les structures répétitives
Section VIII Modularité Partie II
Les fonctions.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
Langage C Révision.
La structure conditionnelle simple
Calcul et programmation au lycée avec Scilab
Récursivité.
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Expressions et assignations
Quelques algorithmes sur calculatrices
Les structures de contrôle conditionnelles
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
Principes de programmation
PHP Gestion des systèmes d’information Classe terminale
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 8 Structure de contrôle.
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI 1502 Principes fondamentaux de conception de logiciels
Répéter dans un programme avec une Instruction itérative
Programmation Orienté Objet en C++ Ricard julien.
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Animateur : Med HAIJOUBI
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
3 Les instructions. Cours 32 Plan du cours 3 Instruction Bloc Portée L’alternative Affectations =, +=, *=… Comment comparer –Comparer des réels –Comparer.
SIF-1053 Architecture des ordinateurs
Un survol du language C.
 Syntaxe du langage PHP
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
 Formulaires HTML : traiter les entrées utilisateur
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Programmation en C.
Module algorithmique et programmation
1 Algorithmique, cours 3 Septembre Les fonctions 1. Motivation 2. Définitions 3. Utilisation des fonctions 4. Déclaration des fonctions 5. Liens.
Scripts et fonctions Instructions de contrôle
PRO-1027 Programmation Scientifique en C
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy – 6 octobre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
O UTILS DE P ROGRAMMATION P OUR LES M ATHÉMATIQUES Mr. BENDIB. I MAA, LAMIS Laboratory, Université Larbi Tébessi - Tébessa.
Transcription de la présentation:

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). José-Marconi Rodrigues (tps précédant 2006).

Emploi du temps Mardi : Vendredi : ~8 cours, ~12 tds, 10 tps; Cours : 13h30 - 15h00 Amphi1 TD : 17h00 - 18h30 s.312 Vendredi : TP (gp1, MI) : 14h - 16h00 s.512 TP (gp2; PC) : 16h - 18h00 s.512 ~8 cours, ~12 tds, 10 tps; Examen sans documents : mardi 13 mars, 13h30-15h00 (après 5CM, 5tds, 5tps). (dernier TDs : 2 heures)

Modalités d’évaluation Après chaque TP vous enverrez vos résultats à l’une des deux adresses suivantes (en fonction du groupe dans lequel vous êtes): Marc.Chaumont@lirmm.fr Julien.Dalmasso@lirmm.fr Les tps sont notés; critères d’évaluation : qualité, commentaires, exécution correcte...

Préambule

Préambule Maple est un logiciel de calcul formel : Après évaluation l’expression 2/6 est réduite et exprimée de manière formelle par 1/3 Maple permet d’aider à la résolution de problèmes mathématiques et numériques : grâce à des fonctions permettant de résoudre des équations typiques (dérivées, intégrales, algèbre linéaire…) et d’évaluer graphiquement. grâce à la possibilité de programmer (imposer une suite de commandes) .

Chapitre 1 : Premiers pas avec Maple

Environnement de travail Maple

Environnement de travail Maple

Quelques commandes de base Il y a à la fin de chaque commande : Soit un point-virgule ; Soit deux points : Le fait de taper sur la touche [entrée] indique à Maple qu’il faut évaluer l’expression (ou exécuter la commande).

Quelques commandes de base

Quelques commandes de base Remarque : Si l’on tape simultanément sur [shift]+[entrée] on retourne à la ligne sans évaluation.

Quelques commandes de base Le caractère pourcent (%) permet de rappeler la valeur du dernier calcul effectué par la machine (par Maple). %% permet de rappeler 2 calculs en arrière, %%% permet de rappeler 3 calculs en arrière, ...

Exercice Quel est l’affichage obtenu après évaluation par Maple ? Comment cette série de commandes a-t-elle été saisie ? Remarque : length est une fonction qui calcule le nombre de décimales d’un nombre.

Exercice Comment cette série de commandes a-t-elle été saisie ? On tape simultanément [shift]+[entrée] après chaque instruction

Quelques commandes de base Les opérations arithmétiques simples : Addition + Soustraction - Multiplication * Division / Puissance ^

Exercice Évaluer les expressions suivantes : 2a+1a; 3*a/b+2*a/b+a^0; 3*x^2+2*x^0=2; sin(x)^2+cos(x)^2; 3!+2*x^0; ln(exp(1)); a^2+2*a*b+b^2;

Exercice

Quelques commandes de base Lorsqu’une fonction vous est inconnue ou lorsque vous ne savez pas comment l’utiliser vous pouvez appeler l’aide en ligne en tapant point d’interrogation suivi du nom de la fonction. Exemple : >?sin

Quelques commandes de base Aide en ligne : >?sin

Menu d’aide en ligne Ou taper >?

Quelques commandes de base Lorsque l’on souhaite commenter un programme (suite de commandes) on utilise le dièse suivi du commentaire : Exemple : … tout ce qui ce trouve après le # n’est pas évalué

Quelques commandes de base L’affectation et la notion de variable L’affectation (attribution d’une valeur à une variable) se fait en utilisant le := … c’est votre premier programme

Quelques commandes de base Ré-initialisation de l’environnement : >restart; Les variables précédemment affectées sont « dé-assignées ». Ré-initialisation d’une variable particulière : > x:=2: unassign(‘x’);

Exercice Évaluer le programme suivant : restart; x:=1: a:=1: b:=1: 2a+1a; 3*a/b+2*a/b+a^0; 3*x^2+2*x^0=2; sin(x)^2+cos(x)^2; 3!+2*x^0; ln(exp(1)); a^2+2*a*b+b^2;

Exercice

Quelques notions de programmation

La conditionnelle Expression booléenne Instructions > restart; #a et b sont deux valeurs, par exemple #a := 3; et b := 5; if (a > b) then Max:=a else Max:=b end if; Max; Expression booléenne Instructions On appelle ceci une structure de contrôle

La conditionnelle Imbrication de conditionnelle : > #... if (a > b) then m:=a elif (b > c) then m:=b else m:= c end if; m;

La conditionnelle La conditionnelle de manière générale : if <conditional expression> then <statement sequence> | elif <conditional expression> then <statement sequence> | | else <statement sequence> | end if

La notion de séquence : Une autre façon de voir l’itération (for, while …) L’évaluation d’une expression avec différentes valeurs d’un paramètre* peut être effectuée via la commande seq > seq(i^2, i=1..5); 1, 4, 9, 16, 25 > seq(sin(Pi*i/6), i=0..6); * les différentes valeurs du paramètre sont consécutives

Séquences particulières La somme : > a:=Sum(i, i=1..10); b:=sum(i, i=1..10); evalf(a); Le produit : > a:=Product(i^2, i=1..10); b:=product(i^2, i=1..10);

La notion d’itération Une approche plus algorithmique de la séquence La boucle « for » : Exemple : > s:=0: #Initialisation de s for n from 1 to 10 #Début de la boucle for do s:=s+n #Instruction répétée #C’est le corps de la boucle od: #Fin de boucle s; #Affichage de la valeur de s 55

La notion d’itération Une approche plus algorithmique de la séquence La boucle « for » : Exemple : > s:=0: #Initialisation de s for n from 1 to 10 #Début de la boucle for do s:=s+n #Instruction répétée #C’est le corps de la boucle od: #Fin de boucle s; #Affichage de la valeur de s 55 Le caractère ‘ : ’ ne se retrouve pas partout.

La notion d’itération Une approche plus algorithmique de la séquence La boucle « for » : Exemple : > s:=0: #Initialisation de s for n from 1 to 10 #Début de la boucle for do s:=s+n #Instruction répétée #C’est le corps de la boucle od: #Fin de boucle s; #Affichage de la valeur de s 55 L’instruction s:=s+n est exécutée (évaluée) pour n valant 1, puis 2, puis 3 … Une fois que l’instruction s:=s+n a été exécutée 10 fois, la variable s contient la valeur 55.

La notion d’itération Une approche plus algorithmique de la séquence La boucle « for » : Exemple : > s:=0: #Initialisation de s for n from 1 to 10 #Début de la boucle for do s:=s+n #Instruction répétée #C’est le corps de la boucle od: #Fin de boucle s; #Affichage de la valeur de s Consigne de programmation : Aller à la ligne après chaque commande Indentez vos programmes (décalez le code sur la droite lors de l’ouverture d’une structure de contrôle telle que for, while, if …) Alignez les commentaires,

La notion d’itération Une approche plus algorithmique de la séquence Répétition de plusieurs instructions : s:=0: #initialisation u:=0: for i from 1 to 5 #Début de la boucle for do s:=s+i^2: #Instruction répétée u:=u+s*2 #Instruction répétée od: s; u; 55 210

La notion d’itération Une approche plus algorithmique de la séquence Incrémentation différente de 1 : N:=21; somme:=0: for i from 1 to N by 2 do somme:=somme+i: od: somme;

La notion d’itération Une approche plus algorithmique de la séquence La boucle « while » : > restart; S:=NULL: # Initialisation de S n:=1: # Initialisation de n NBITER:=5: # Constante NBITER while n < NBITER # Boucle while do S:=S,sin(n*Pi/7): n:=n+1: od: # Fin de la boucle while S; Remarque : sin(4*Pi/7) = sin(3*Pi/7)

Quelques fonctions de base Conversion d’une expression en une autre. Exemple d’un changement de base : >convert(9, binary); #Decimal vers binaire 1001 >convert(11, decimal, binary); #Binaire vers décimal 3 convert - convert an expression to a different form Calling Sequence convert(expr, form, arg3, ...) Parameters expr - any expression form - name arg3, ... - (optional) other arguments

Quelques fonctions de base Savoir si un nombre est premier ? >isprime(11); true Arrondi au premier entier inférieur : >floor(10.7); 10 Arrondi au premier entier supérieur >ceil(10.2); 11 Arrondi à l’entier le plus proche : >round(10.1);