DÉPARTEMENT D’INFORMATIQUE UNIVERSITÉ NICE SOPHIA ANTIPOLIS Introduction à la p
DÉPARTEMENT D’INFORMATIQUE UNIVERSITÉ NICE SOPHIA ANTIPOLIS Introduction à la programmation Matlab/Octave NOTES DE COURS Version: 3 novembre 2015 Arnaud Malapert (firstname.lastname@unice) Table des matières 1 Concepts et outils logiciels 1 1 Calcul scientifique 2 2 Outils logiciels 6 3 Comparatif Matlab-Octave-Scilab 8 4 Limites de Matlab-Octave-Scilab 8 5 Installation de GNU Octave 9 6 Premiers pas avec GNU Octave 10 7 Variables et types de données 11 2 Matrices 15 1 Création d’une matrice 16 2 Opérations sur les matrices 18 3 Matrices multidimensionnelles 23 3 Graphiques 25 4 Programmation, fonctions et scripts 29 1 Structures conditionelles et répétitives 30 2 Opérateurs 33 3 Fonctions et scripts 35 4 Fonctions d’entrées/sorties 37 5 En pratique 38 1 Lecture 1 Concepts et outils logiciels Notes du cours Introduction à la programmation Matlab/Octave Présenté le 3 novembre 2015 par Arnaud Malapert du Département d’informatique de l’Université Nice Sophia Antipolis 1 Calcul scientifique 1.1 Calcul formel Calcul formel Principe — Procédé de transformation d’expressions mathématiques. — Les objets de ce calcul ne sont plus les variables de l’expression mathéma- tique mais les opérations elles-mêmes. — populaire au début des années 1970 et a participé à la création de l’IA. Exemples — Résoudre un problème en fonction de un ou plusieurs inconnue(s), — Dériver une fonction, déterminer sa primitive, simplifier son expression. 1.1 Types d’expression — des polynômes avec de multiples variables ; — fonctions standards, spéciales ou composées de diverses expressions ; — dérivées, intégrales, sommes et produits d’expressions ; — matrices d’expressions. 1.2 Manipulations symboliques — simplification, qu’elle soit automatique ou effectuée à partir d’hypothèses ; — substitution de symboles ou de valeurs numériques par des expressions ; — changement de forme des expressions : expansion de produits et de puis- sances, réécriture de fractions partielles, réécriture de fonctions trigonomé- triques comme exponentielles, etc. ; — différentiation relative à une ou plusieurs variables ; — optimisation globale, qu’elle soit conditionnelle ou non ; — factorisation partielle ou complète ; — solution d’équations linéaires et de quelques équations non-linéaires ; — solution de quelques équations différentielles ; — calcul de limites de certaines fonctions ; — quelques intégrales définies ; — transformées (Laplace, Fourier, etc.) ; — expansion et somme de séries ; — opérations sur les matrices incluant le produit et l’inversion, etc. ; — affichage d’expressions mathématiques, (par ex. avec T EX). 1.3 2 Identités remarquables de degré 2 (a + b)2 = a2 + 2ab + b2 (a −b)2 = a2 −2ab + b2 (a −b) × (a + b) = a2 −b2 Résolution de x2 −x −1 = 0 x2 −x −1 = x −1 2 2 −5 4 = x −1 + √ 5 2 × x −1 − √ 5 2 1.4 Résolution d’une équation du second degré une équation du second degré peut s’écrire sous la forme ax2 + bx + c = 0 où x est l’inconnue et les lettres a, b et c représentent les coefficients réels, avec a différent de 0. Le discriminant de l’équation est la valeur ∆définie par : ∆= b2 −4ac. — Si le discriminant est strictement positif, l’équation admet deux racines dis- tinctes : x1 = −b − √ ∆ 2a et x2 = −b + √ ∆ 2a — Si le discriminant est nul, l’équation admet une racine double : x1 = x2 = −b 2a — Si le discriminant est négatif, l’équation n’admet aucune racine réelle. 1.5 Interprétation graphique 1.6 À vous de jouer ! Exercice 1. Est-il possible de résoudre l’équation suivante grâce à la méthode du déterminant ? (x + 2)3 −(x −1)3 = 0 Indices : identités remarquables de degré 3 (a −b)3 = a3 −3a2b + 3ab2 −b3 (a + b)3 = a3 + 3a2b + 3ab2 + b3 Solution. — Oui, le développement donne une équation du second degré : x2 + x + 1 = 0. — Par contre, elle n’admet pas de racine réelle (∆= −3). 1.7 3 FIGURE 1 – Le signe du discriminant apporte une information sur le graphe de la fonction. 1.2 Calcul numérique Calcul numérique Principe — Résoudre par des calculs purement numériques des problèmes d’analyse mathématique. — Utilisation de résultats empiriques de calculs numériques (axiomes mathé- matiques, théorèmes, preuves). Applications — Conception de structures (systèmes aéronautiques ou automobiles). — Systèmes complexes et chaotiques (prévision numérique du temps). — Modélisation 3D (effets spéciaux). — Statistiques appliquées (démographie, modèles économiques) — Analyse financière ou boursière. 1.8 Étude des erreurs Erreur d’arrondi Il est impossible de représenter en pratique tous les nombres réels exactement sur une machine à états finis. Erreur de troncature La solution approchée obtenue diffère de la solution exacte. Discrétisation La discrétisation d’un problème induit une erreur car la solution du problème discret ne coïncide pas forcement avec la solution du problème continu. Propagation des erreurs Une fois que l’erreur est générée, elle se propagera généralement tout au long du calcul. 1.9 4 Stabilité numérique Stabilité numérique un algorithme est numériquement stable si une erreur, une fois générée, ne croît pas trop durant le calcul. — Il ne faut pas que l’algorithme diverge. Conditionnement — Problème bien conditionné : la solution ne change que d’une faible quantité si les données du problème sont changées d’une faible quantité. — Problème mal conditionné : la moindre erreur dans les données peut provo- quer une erreur très importante dans la solution trouvée. — Cependant, un algorithme qui résout un problème bien conditionné peut être ou ne pas être numériquement stable. — L’analyse numérique consiste à trouver un algorithme stable pour résoudre un problème mathématique bien posé. 1.10 Méthode de dichotomie — Supposons une fonction continue f : [a, b] →R telle que f(a) et f(b) soient de signes opposés. — D’après le théorème des valeurs intermédiaires, f doit avoir au moins un zéro dans l’intervalle [a, b]. — La méthode de dichotomie consiste à diviser l’intervalle en deux en calculant c = (a + b) ÷ 2. — Il y a maintenant deux possibilités : ou f(a) et f(c) sont de signes contraires, ou f(c) et f(b) sont de signes contraires. — L’algorithme est alors appliqué au sous-intervalle dans lequel le changement de signe se produit (récursive). — L’erreur absolue est au plus b−a 2n+1 après n étapes. — La méthode converge linéairement, ce qui est très lent par comparaison avec la méthode de Newton (fonction dérivables). — Le nombre maximum d’itérations nécessaires pour satisfaire une tolérance relative ϵ est : 2n+1 = 1/ϵ 1.11 Résolution de x2 −x −1 = 0 par dichotomie Réductions de [a, b] 1. [0, 4] 2. [0, 2] 3. [1, 2] 4. [1.5, 2] 5. [1.5, 1.75] 1.12 Recherche dichotomique dans un tableau Recherche l’indice d’un élément dans un tableau — L’élément peut ne pas être présent dans le tableau. Recherche séquentielle O(n). On parcourt les éléments du tableau jusqu’à ce que : 1. l’élément courant soit l’élément recherché ; 2. on ait atteint la fin du tableau Recherche dichotomique O(log n) — On suppose maintenant que le tableau est trié (ordre partiel). 1.13 5 0 1 2 3 4 −2 0 2 4 6 8 10 12 x x2 −x −1 1 3 7 8 12 16 18 19 23 33 37 39 43 a b c Exemple : calcul de puissances entières xn Méthode simple : n opérations Multiplier x par lui-même n fois. Propriétés algébriques sur les puissances am × an = am+n (am)n = am×n Exponentiation rapide : log2(n) opérations puissance(x, n) = x si n=1 puissance(x2, n 2 ) si n est paire x × puissance(x2, n−1 2 ) si n est impaire Calcul de 79 79 = 7 × (72)4 = 7 × (492)2 = 7 × (2401)2 = 7 × 5764801 = 40353607 1.14 2 Outils logiciels Fortran (FORmula TRANslator) — Langage de programmation utilisé principalement en calcul scientifique. — John Backus, pionnier de l’informatique, publie les spécifications en 1954. — IBM proposa le premier compilateur FORTRAN en 1956 (25 000 lignes, pour l’IBM 704). — Très nombreuses bibliothèques de fonctions utilisables en Fortran. — Des compilateurs performants produisent des exécutables très rapides. — Beaucoup de programmes scientifiques sont à présent écrits en C et C++ 1.15 2.1 Calcul formel Calcul formel Bibliothèques 6 — Le dépôt Netlib (Fortran et C). — Logiciels commerciaux : IMSL, NAG et HSL ; — une alternative libre est la GSL. Applications — Mathematica, Maple, Maxima, SAGE Utilisation pour le calcul numérique — Leur puissance est généralement liée au calcul symbolique, — Transformer un problème numérique complexe en suite finie d’éléments de calcul numérique simples, — évalués alors individuellement par des recettes numériques. 1.16 2.2 Calcul numérique Calcul numérique Langage de haut niveau — Orienté autour du problème à résoudre. — Utiliser les langues naturelles et des symboles mathématiques. — Abstraction des caractéristiques techniques du matériel. Interpréteur de commande Exécution à la volée d’instructions via une fenêtre de commande ou l’exécution de fichiers-scripts Compilation Transformation d’un langage source vers uploads/s3/ intro-matlab-notes-pdf.pdf
Documents similaires










-
45
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 04, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.4617MB