ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques...

10
23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech 1 formation Scilab-CPGE Objectifs de la formation Dans le cadre de la réforme CPGE, nouveau thème « Ingénierie numérique et simulation » 4 demi-journées : 1h de cours + 2h de travaux pratiques 2 formation Scilab-CPGE 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

Transcript of ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques...

Page 1: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

1

Eric Lunéville

Unité de Mathématiques Appliquées

ENSTA ParisTech

1formation Scilab-CPGE

Objectifs de la formation

Dans le cadre de la réforme CPGE, nouveau thème

« Ingénierie numérique et simulation »

4 demi-journées : 1h de cours + 2h de travaux pratiques

2formation Scilab-CPGE

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

Page 2: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

2

Plan du cours

Introduction à Scilabrésolution de systèmes dynamiques, visualisation 1D

Schémas aux différences finiesapplication aux équations de transport et de Burgers

Résolution des problèmes de Laplacerésolution de systèmes linéaires, outil de visualisation 2D

Résolution de l’équation des ondesanimation, interfaces graphiques

3formation Scilab-CPGE

Introduction à Scilab

4formation Scilab-CPGE

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)

Alternative gratuite à Matlab (Mathworks)

http://www.scilab.org/

Page 3: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

3

Environnement de calcul scientifique

5formation Scilab-CPGE

Dossiers,

fichiersConsole d’exécution

Suivi des

variables

Historique des

commandes

Aide

6formation Scilab-CPGE

Mode interactif : variables simples

ans est la variable contenant le résultat

concaténation de chaîne

erreur chaine + nombre ?

un entier

un réel

un complexe

Une chaîne de caractères

un booléen

ans est réutilisable

Page 4: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

4

7formation Scilab-CPGE

Variables prédéfinis

le complexe i

le réel e

le réel p

l’infini positif

précision réelle

Not A Number

8formation Scilab-CPGE

Vecteur et matrice

vecteur ligne 1x3

vecteur colonne 3x1

matrice 2x3

même matrice

• les vecteurs sont des « matrices »

• espace ou , comme séparateur de colonne

• saut de ligne ou ; comme séparateur de ligne

• concaténable :

matrices particulières : eye, ones, zeros

Page 5: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

5

9formation Scilab-CPGE

Autres structures

struct : liste de champ, valeur cell : matrice d’objets quelconques

list : liste d’objets quelconques

autres objets :

paramètres (parameter)

polynômes (poly)

fractions rationnelles (rational)

objets graphiques (handle)

voir type et typename

10formation Scilab-CPGE

Principaux opérateurs

opérateur signification

+ addition/concaténation

- soustraction

* produit

/ division à droite

^ puissance

= affectation

~ négation

== test égalité

~= test différence

> >= supérieur (ou égal) à

< <= Inférieur (ou égal) à

& et logique

| ou logique

opérateur signification

; séparateur ligne ou fin d’instruction

, séparateur colonne et liste d’arguments

.opération composante à composante

accès au champ d’une structure

‘séparateur de chaîne

et transposition/adjoint

‘’ séparateur de chaîne

\ division matricielle à gauche (x=A\b)

%variable prédéfinie

et surcharge d’opérateurs

[ ] définition d’une séquence

( )accès coefficients, liste arguments

et ordre des opérations

$ dernier index d’une ligne/colonne

: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

Page 6: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

6

11formation Scilab-CPGE

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

12formation Scilab-CPGE

Manipulation des vecteurs et matrices

matrice * vecteur

inverse de A

division à gauche

résolution de Ax=b

déterminant de A

conditionnement de A

||A||2 ||A-1||2

trace de A

diagonalisation de A

Autres fonctions

Voir documentation

Algèbre linéaire

Page 7: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

7

13formation Scilab-CPGE

Calcul vectoriel

matrice * vecteur

inverse de A

utilisation de . devant * pour un calcul composante par composante

une fonction scalaire sur un vecteur retourne un vecteur de même taille

test sur un vecteur composante par composante

Calcul vectoriel plus efficace

14formation Scilab-CPGE

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èresChaines de caractères

grand Générateur aléatoire Randlib

Page 8: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

8

15formation Scilab-CPGE

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

16formation Scilab-CPGE

Définition d’une fonction

function [x1,x2,…] =nom(a1,a2,…)

endfunction

Syntaxe générale

appel de mafonction

chargement des fonctions

Page 9: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

9

17formation Scilab-CPGE

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

18formation Scilab-CPGE

Contrôle d’exécution

Les boucles for var = a : [s:] b [do]

instructions

end

while expression [do]

instructions

end

de a à b par pas de s

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

Page 10: ENSTA ParisTech · 2014. 11. 3. · 23/10/2014 1 Eric Lunéville Unité de Mathématiques Appliquées ENSTA ParisTech formation Scilab-CPGE 1 Objectifs de la formation Dans le cadre

23/10/2014

10

19formation Scilab-CPGE

Base de la visualisation graphique

Scilab propose des outils de représentation graphique 2D et 3D

(section Graphiques de la documentation)

dessin encapsulé dans un système d’axes encapsulé dans une figure

Principe général :

• Nombreuses options de

dessins (voir plot)

• Possibilités d’avoir plusieurs

dessins (voir subplot)

20formation Scilab-CPGE

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