23/10/2014 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre de la réforme CPGE, nouveau thème « Ingénierie numérique et simulation » familiariser les étudiants avec un environnement de simulation numérique utiliser des bibliothèques de calcul numérique pour développer et exécuter des programmes numériques faire programmer par les étudiants les algorithmes étudiés illustrer les performances de différents algorithmes utilisées aborder les aspects pratiques : impact des erreurs d’arrondi, conditions d’arrêt, complexité en temps de calcul ou en stockage mémoire Formation à Scilab = environnement de calcul scientifique développé par l’INRIA Maîtriser les bases de cet environnement et appréhender quelques aspects de la simulation numérique, vous permettant d’élaborer des contenus pédagogiques pertinents 4 demi-journées : 1h de cours + 2h de travaux pratiques formation Scilab-CPGE 2 1 23/10/2014 Plan du cours Introduction à Scilab résolution de systèmes dynamiques, visualisation 1D Schémas aux différences finies Résolution des problèmes de Laplace application aux équations de transport et de Burgers résolution de systèmes linéaires, outil de visualisation 2D Résolution de l’équation des ondes animation, interfaces graphiques formation Scilab-CPGE 3 Introduction à Scilab Plateforme de calcul scientifique, pas de calcul symbolique type Mathematica ou Mapple « Langage » interprété, variables non typées Manipulation des entiers, réels, complexes, chaine de caractères, des vecteurs et des matrices Contrôle d’exécution classique (test, boucle, fonctions, …) Outils d’algèbre linéaire, de fonctions spéciales, d’interpolation, de calculs d’intégrales, de résolution de systèmes différentiels, d’optimisation, de statistiques, … Outils de visualisation graphique et d’export Multiplatforme (Windows, Mac Os, Linux) http://www.scilab.org/ Alternative gratuite à Matlab (Mathworks) formation Scilab-CPGE 4 2 23/10/2014 Environnement de calcul scientifique Aide Console d’exécution Dossiers, fichiers Suivi des variables Historique des commandes formation Scilab-CPGE 5 Mode interactif : variables simples ans est la variable contenant le résultat un entier ans est réutilisable un réel concaténation de chaîne un complexe un booléen Une chaîne de caractères erreur chaine + nombre ? formation Scilab-CPGE 6 3 23/10/2014 Variables prédéfinis le complexe i le réel e le réel p précision réelle l’infini positif Not A Number formation Scilab-CPGE 7 Vecteur et matrice • les vecteurs sont des « matrices » • espace ou , comme séparateur de colonne vecteur ligne 1x3 • saut de ligne ou ; comme séparateur de ligne • concaténable : vecteur colonne 3x1 matrice 2x3 même matrice matrices particulières : eye, ones, zeros formation Scilab-CPGE 8 4 23/10/2014 Autres structures cell : matrice d’objets quelconques struct : liste de champ, valeur list : liste d’objets quelconques autres objets : paramètres (parameter) polynômes (poly) fractions rationnelles (rational) objets graphiques (handle) voir type et typename formation Scilab-CPGE 9 Principaux opérateurs opérateur signification opérateur signification + addition/concaténation ; séparateur ligne ou fin d’instruction - soustraction , séparateur colonne et liste d’arguments * produit . opération composante à composante accès au champ d’une structure ‘ séparateur de chaîne et transposition/adjoint / division à droite ^ puissance = affectation ‘’ séparateur de chaîne ~ négation \ division matricielle à gauche (x=A\b) == test égalité ~= % test différence variable prédéfinie et surcharge d’opérateurs > >= supérieur (ou égal) à [] définition d’une séquence < <= Inférieur (ou égal) à () accès coefficients, liste arguments et ordre des opérations & et logique $ dernier index d’une ligne/colonne | ou logique : définition d’indices ligne/colonne d’une matrice .. saut de ligne dans une instruction // ligne de commentaire comportement usuel attention avec les vecteurs et matrices formation Scilab-CPGE 10 5 23/10/2014 Manipulation des vecteurs et matrices vecteur ligne 1x4 de 1 à 4 vecteur ligne 1x4 de 3p à 0 par pas de p produit scalaire (u,v) = v * tu produit tv * u → A matrice 4x4 première ligne de A lignes impaires et colonnes paires de A formation Scilab-CPGE 11 Manipulation des vecteurs et matrices division à gauche résolution de Ax=b déterminant de A matrice * vecteur conditionnement de A ||A||2 ||A-1||2 Autres fonctions Voir documentation Algèbre linéaire trace de A inverse de A diagonalisation de A formation Scilab-CPGE 12 6 23/10/2014 Calcul vectoriel une fonction scalaire sur un vecteur retourne un vecteur de même taille utilisation de . devant * pour un calcul composante par composante matrice * vecteur inverse de A test sur un vecteur composante par composante Calcul vectoriel plus efficace formation Scilab-CPGE 13 Quelques fonctions prédéfinies fonctions description documentation conj, real, imag, … Fonctions usuelles sur des complexes Nombres complexes ceil, floor, round, fix, abs, ... Arrondis, … Virgule flottante exp, log, log10, polar, sqrt Fonctions de type exp, log Exponentielle sin, cos, tan, acos, asin, … Fonctions trigonométriques Trigonométrie erf, gamma, bessel, … Fonctions spéciales Fonctions spéciales matrix, resize_matrix, permute, … Mise en forme de matrices Manipulation de matrices min, max, norm, sum, tril, triu, size, … Opérations sur des matrices Opérations matricielles gsort, lex_sort, … Opérations de tri sur des vecteurs Chercher et trier gcd, lcm, rat, factor, … Pgcd, ppcm, factorisation en facteur premier, … Math. discrètes bin2dec, dec2bin,.. Conversion dans différentes bases Base de numération bitand, bitor, bitxor, … Opérations sur les bits Bitwise operations intersect, union, … Opérations ensemblistes sur des vecteurs Opérations sur les ensembles evstr, strchr, strcmp, strindex, strstr, … Opérations sur les chaines de caractères Chaines de caractères grand Générateur aléatoire Randlib formation Scilab-CPGE 14 7 23/10/2014 Programmation Le mode « programmation » s’appuie sur • des fichiers de script exécutable (*.sce) • des fichiers de script de fonction (*.sci) fichiers éditables dans SciNotes Exécution du script formation Scilab-CPGE 15 Définition d’une fonction Syntaxe générale function [x1,x2,…] =nom(a1,a2,…) … endfunction chargement des fonctions appel de mafonction formation Scilab-CPGE 16 8 23/10/2014 Contrôle d’exécution Les tests if expr1 then instructions else if expri then instructions .... else instructions end select variable case valeur1 then instructions 1 case valeur2 then instructions 2 ... case valeurn then instructions n [else instructions] end formation Scilab-CPGE 17 Contrôle d’exécution Les boucles for var = a : [s:] b [do] instructions end de a à b par pas de s while expression [do] instructions end Les interruptions break : interruption d’une boucle pause : pause de l’exécution abort, error(msg) : interruption de l’exécution (avec message) return, resume : sortie d’une fonction formation Scilab-CPGE 18 9 23/10/2014 Base de la visualisation graphique Scilab propose des outils de représentation graphique 2D et 3D (section Graphiques de la documentation) Principe général : dessin encapsulé dans un système d’axes encapsulé dans une figure • Nombreuses options de dessins (voir plot) • Possibilités d’avoir plusieurs dessins (voir subplot) formation Scilab-CPGE 19 Références Sur le site de scilab • Scilab_debutant.pdf • introscilab.pdf • scilabisnotnaive.pdf • livret_maths_2013.pdf • optimization_in_scilab.pdf • introdiscreteprobas.pdf • LHY_Tutorial_Gui.pdf références de livres sur http://www.scilab.org/fr/resources/documentation/books formation Scilab-CPGE 20 10
© Copyright 2024 ExpyDoc