le calcul numérique : pourquoi et comment - scilab.org · directeur du consortium scilab 16 juin...

53
Le calcul numérique : pourquoi et comment ? Claude Gomez Directeur du consortium Scilab 16 juin 2009

Upload: duongkhanh

Post on 14-Sep-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Le calcul numérique : pourquoi et comment ?

Claude GomezDirecteur du consortium Scilab

16 juin 2009

Plan• Le calcul symbolique

• Le calcul numérique

• Le logiciel Scilab

• Scilab au lycée

Le calcul symbolique ou

calcul formel

Quelques logiciels de calcul symbolique

– Professionnels : Maple, Mathematica

– Parfois utilisé au lycée : Derive

– Gratuits : Maxima, Xcas, SAGE, …

Quelques exemples en Maple

Le calcul symbolique c’est super !

Trouver solution de ( ) 0f x =x

Résolution d’équations

Recherche de zéros de polynômes avec Maple

Mais dès le degré 5, pas de solution analytique générale

Résolution d’équations différentielles

Résolution avec Maple

Trouver solution de '( ) ( , ( ))y x f x y x=( )y x

– Là encore pas de solution analytique, même pour de simples équations différentielles

– La solution est donnée en fonction de fonctions spéciales elles-mêmes solutions d’équations différentielles !

– Sardines :

– Requins :

Résolution avec Maple

Système proie prédateur (Lotka Volterra)

( )x t( )y t

'( ) ( ) ( ) ( )'( ) ( ) ( ) ( )

x t a x t b x t y ty t d y t c y t x t

= −⎧⎨ = − +⎩

Le système :

Le système différentiel proie prédateur le plus simple :

Solution générale inutilisable : racine d’un polynôme avec une intégrale + fonction spéciale

Et si l’on met des conditions initiales et des valeurs aux paramètres, plus de solution !

Solution

– Utiliser des valeurs « approchées »

– Utiliser des algorithmes « approchés »

Qu’est-ce qu’une valeur « approchée » ?

Donc le calcul symbolique ne suffit pas

Le calcul numérique

La norme IEEE-754

Faire des calculs rapides

Utiliser des « mots machine »

Comment représenter les nombres dans ces « mots machine » ?

Nombre =

Nombre min =

Nombre max =

Précision = soit 16 chiffres max

Double précision = 2 X 32 bits

s = signe e = exposant m = mantisse

s e 1023( 1) 2 1.m−− × ×

3081,797... 10

3082,225... 10−

162,22... 10−

Définition d’un arrondi correct pour , , , ,+ − × ÷

Toutes les machines ont le même comportementnumérique pour l’arithmétique

Avantages

– Les fonctions élémentaires ne sont pas encore spécifiées– Restent les problèmes de précision

Inconvénients

Exemples en Scilab

-->sin(%pi)

ans =

1.224646799D-16

-->sin(%pi*10^10)

ans =

- 0.0000022393628

-->sin(%pi*10^15)

ans =

- 0.2362090532517

<= 10-16 équivaut ici à 0

<= ces puissances de πne sont pas assez précises

-->%eps%eps =

2.220446049D-16 -->format(20)-->1+%epsans =

1.00000000000000022 -->1+%eps/2ans =

1. -->(1+%eps/2+%eps/2)-

(1+%eps)ans =- 0.00000000000000022

<= précision minimale <= on affiche 20 chiffres

<= %eps/2 vaut 0 par rapport à 1

<= ((1+%eps/2)+%eps/2) vaut 1

Le numérique en précision arbitraire

Scilab

163 -262537412640768744eπExemple : calcul de

-->exp(%pi*sqrt(163))-262537412640768744ans =- 480.

Ce résultat est faux car le calcul de n’est pas fait avec assez de précision

163eπ

Maple

If faut faire un calcul avec 40 chiffres pour arriver à un résultat juste

Le calcul numérique en précision arbitraire est donc incontournable dans certains domaines :

• Résolution de systèmes d’équations polynomiales : robotique

Arithmétique d’intervalles, calcul certifié

Le logiciel Scilab

Les logiciels de calcul numérique

Avantages– Programmation facile– Algorithmes performants– Larges domaines d’application– Tracé de graphiques faciles

Ce sont ces logiciels qui sont utilisés par les ingénieurs, les universitaires, les chercheurs

– Matlab

– Scilab

:: commercial et chercommercial et cher

:: libre et gratuitlibre et gratuit

Caractéristiques importantes

– Pas de variables formelles

– Les objets de base sont les vecteurs et les matrices

– Tous les calculs sont numériques : ils suivent la norme IEEE-754

Le logiciel Scilab : qu’est-ce que c’est ?

• Fonctions mathématiques• Calcul matriciel, matrices creuses• Polynômes et fractions rationnelles• Simulation : systèmes d’équations différentielles• Commande classique et robuste, optimisation LMI• Optimisation différentiable et non différentiable

• Interpolation, approximation• Traitement du signal• Statistiques • Graphes et réseaux• Xcos : simulateur bloc diagramme pour les

systèmes dynamiques

Librairies de calcul : plus de 1700 fonctions

Utilisateur

Graphique 2D/3DAnimation

LangageInterpréteur

Aide en ligneÉditeur

Dernière version : Scilab 5.1.1 (avril 2009)

Statut de Scilab :Machines cibles :

– Gratuit– Windows 2000/XP/Vista

– Linux

– MacOSX

• Le nouveau consortium au sein de la fondation

– Un soutien fort de l’

– Un consortium de partenaires

– Participation à des projets collaboratifs et industriels

Le nouveau consortium Scilab

• Une structure adaptée

– Une équipe de R&D pérenne en fort développement et complètement dédiée au développement et à la promotion de scilab

0

5

10

15

20

25

2003 2004 2005 2006 2007 2008 2009

Nombre de personnes de l’équipe R&D

Le consortium Scilab aujourd’hui

Académiques Organismes publics

Industriels

Scilab au lycée

– La calculatrice

– Le tableur : Excel ou Calc

– Autres• Derive, Maple, Mathematica,…

Les outils de calcul actuels dans les lycées

Géométrie dynamique• Geoplan, Geospace, Geogebra…

Avantages

• C’est pas cher• Bien adapté aux programmes de lycées

La calculatrice

Tout le calcul numTout le calcul numéérique fait avec une calculatrice rique fait avec une calculatrice peut être fait peut être fait «« en mieuxen mieux »» avec Scilabavec Scilab

Inconvénients

• C’est cher car en général pas utilisée après le lycée• Pas toujours performant• Graphique peu lisible• Langage peu facile à manipuler

Un tableur doit être utilisé comme un tableur :

– Pour « voir » des valeurs évoluer en fonction de paramètres– Pour gérer une petite base de données

Le tableur : Excel ou Calc

Un tableur « n’est pas fait » pour faire :

– Du calcul numérique– De la programmation numérique => pas de « vrai langage »

Tout le calcul numTout le calcul numéérique fait avec un tableur peut rique fait avec un tableur peut être fait être fait «« en mieuxen mieux »» avec Scilabavec Scilab

Scilab utilisé en classes de BCPSTScilab utilisé dans les classes de STS CIRA

Utilisation de Scilab dans le secondaire en mathématiques

• Expérimentation en 2007 dans l’académie de Lille

• Dans le cadre de l’épreuve pratique de mathématiques du bac S

– Sujets et solutions sur www.scilab.org/lycee

Formations Scilab depuis cette annFormations Scilab depuis cette annéée dans le dans l’’acadacadéémie mie de Versaillesde Versailles

Avantages de Scilab

Logiciel gratuit : peut être installé partout– Par les enseignants et les élèves au lycée– Par les enseignants et les élèves à la maison

Logiciel puissant :– Super calculateur graphique simple et rapide– Programmation facile

Logiciel utilisé dans la vie professionnelle– À l’université et dans les écoles d’ingénieur, dans la

recherche, dans les entreprises

Réforme des lycées ? instaurer une instaurer une continuitcontinuitéé entre le lycentre le lycéée et le et l’’universituniversitéé

–Fonction : notions de variablesfunction y=f(x);

y=sin(x^2)+x;endfunction

Les structures de base pour la programmation

–Test :if x>10 then

y=x;else

y=x^2;end

–Boucle :for i=1:10

x(i)=i^2;end

Encadrement d’une intégrale :• Valeur approchée par la somme des aires des rectangles

Ajustement affine interactif :• Trouver la droite de régression de y en x par la méthode des

moindres carrés pour une série statistique et calcul de la somme des carrés des distances

Une version Scilab pour les lycées

Des activités à montrer aux élèves

Le curseur qui donne la pente et l’erreur correspondante

La courbe de régression correspondante :

– Analyse : ln

– Arithmétique :• pair, impair• quotient, reste• pgcd, ppcm• premier, liste_premiers, numero_premiers,

factorise, diviseurs

– Graphique :• orthornorme, quadrillage, graduations• cliquer

Les fonctions Scilab adaptées au lycée

-->l=liste_premiers(1000000);-->pgcd(1931911,4288507)ans =

541. -->factorise(10291181709984)ans =

2. 2. 2. 2. 2. 3. 7. 541. 3571. 7927. -->diviseurs(12456)ans =

column 1 to 141. 2. 3. 4. 6. 8. 9. 12. 18. 24. 36. 72. 173. 346.

column 15 to 24519. 692. 1038. 1384. 1557. 2076. 3114. 4152. 6228. 12456.

Exemples d’arithmétique

– Probabilités et statistiques :• factorielle, arrangement, combinaison• tirage_entier, tirage_reel, frequence, frequence_tirage_entier,

• moyenne, moyenne_ponderee, ecart_type, ecart_type_pondere, mediane, mediane_ponderee, quartiles, quartiles_ponderes, deciles, deciles_ponderes

• loi_exp, loi_normale• regression_y_en_x• histogramme

-->a=[0,10,15,20,40]a =

0. 10. 15. 20. 40. -->n=[8,6,13,10]n =

8. 6. 13. 10. -->histogramme(a,n,"r")

Exemple de statistiques

– Ensembles :• ensemble, ajouter, enlever• inclus, appartient• difference, intersection, union• tirage_ensemble• valeur

-->p=ensemble("a(20)","b(20)","a(50)","a(100)","b(100)","a(200)");-->n=1000; f=0;-->for i=1:n--> t=tirage_ensemble(2,p);--> if sum(valeur(t))>150 then f=f+1; end-->end-->f/nans =

0.394

Exemples de calculs sur les ensembles :- On tire au hasard 2 billets parmi un ensemble

de 2 billets de 20 euros, 1 billet de 50 euros, 2 billets de 100 euros et 1 billet de 200 euros

- On calcule la probabilités pour que la somme des billets tirés soit supérieur à 150 euros

- Simulation sur 1000 tirages

• Scilab 5.0 avec les fonctions pour les lycées :– Utilisation directe à partir du cédérom sous Windows– Installation sous Windows, Linux et Max OS X

• Un document de familiarisation à Scilab

• Un document d’exemples sur l’utilisation en mathématiques dans le secondaire

Une page Web dédiée : www.scilab.org/lycee

Une mailing list : [email protected]

Le CDROM Scilab pour les lycées

Conclusion

www.scilab.org