1 / 16

ASI 3 Méthodes numériques pour l’ingénieur

ASI 3 Méthodes numériques pour l’ingénieur. Performance des solutions numériques : complexité, erreur, précision et stabilité. Les enjeux de l’analyse numérique. Résoudre des problèmes que l’on ne sait pas résoudre autrement « mieux » qu’on ne le faisait avant

olina
Télécharger la présentation

ASI 3 Méthodes numériques pour l’ingénieur

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASI 3Méthodes numériquespour l’ingénieur Performance des solutions numériques : complexité, erreur, précision et stabilité

  2. Les enjeux de l’analyse numérique • Résoudre des problèmes • que l’on ne sait pas résoudre autrement • « mieux » qu’on ne le faisait avant • plus précisément, moins cher... • Étique de l’analyse numérique • plus vite : • complexité des algorithmes (et des problèmes) • plus précis • erreur d’arrondi (liées à la machine) • erreur d’approximation (liées à l’algorithme) • plus fiable • stabilité d’un algorithme • facile à programmer : comprendre pour mieux réutiliser

  3. Temps de calcul • Taille d’un problème : n • Temps de calcul : • aspects liés au programme et à la machine • aspects liés au problème • Complexité d’un algorithme • Complexité d’un problème Définition : la fonction T(n) est dite « grand O» de f(n) que l’on note T(n)=O(f(n)), s’il existe deux constantes C et n0 telles que Exemple :

  4. O(n) Exemples Fusionner(x,y) n = taille(x)+taille(y) pour i=1:n …. v(i) = ….. ….. fin Ab=c O(n2) pour i=1:n s = 0; pour j=i:n s =s+A(i,j)*b(i) Fin c(i)=s fin Résoudre(P(n)) Si n = 1 ,...c’est fini Sinon A=Résoudre(P(1:n/2)) B=Résoudre(P(n/2+1:n)) Fusionner(A,B) O(nlog2n)

  5. Règles de calcul • Algorithmes : • ; • si-alors-sinon • Pour i=1:n faire – fait • Appeler un sous programme • T : Ensemble des algorithmes R • T(A;B)= T(A) + T(B) • T(si C alors A sinon B) = T(C)+max(T(A),T(B)) • T(pour i = 1,n faire A(i) fait) = somme T(A(i)) • T(appeler A) = T(A)

  6. Complexité d’un algorithme,complexité d’un problème • Complexité d’un algorithme : • temps : ordre du temps de calcul • taille : place mémoire nécessaire • complexité d’un problème de taille n • soit A un algorithme résolvant le problème Intéressant seulement lorsque n est grand

  7. Un calcul simple n = 100000; s = 0; for i=1:n s = s+1/3; end » s-n/3 ans = -4.3576e-008 Représentation des nombres Précision : log([eps realmax realmin]) -36.0437 709.7827 -708.3964 Maths de la continuité maths calculables ?

  8. Erreur de codage (binaire) n = 100000; s = 0; for i=1:n s = s+1/3; end » s-n/3 ans = -4.3576e-008 Représentation des nombres Précision : log([eps realmax realmin]) -36.0437 709.7827 -708.3964 Maths de la continuité / calculables eps n’est pas realmin

  9. Arithmétique calculatoire (décimale) • Nombre en virgule flottante (décimale pour simplifier) normalisée (normalisation IEEE, 1985) Définition : Exercice : montez que :

  10. Forme normalisée x = 1, y = 2, y-x ??? z=10^30; (z+x)-(z+y) ??? Exercice : écrire un programme résolvant l’équation suivante (avec 4 chiffres significatifs) Il faut faire attention à l’ordre suivant lequel sont effectuées des opérations

  11. Erreur d’approximation • Erreur de troncature (indépendante de la machine) (ou tabulation) • propagation des erreurs • Stabilité d’un algorithme Définition : soit e (n) l’erreur d’un algorithme après n étapes avec |e (n)|=O(f(n)), la croissance de l’erreur est dite polynomiale si f est un polynôme. Elle est dite exponentielle si f(n)=Kn e. (f est appelée le taux de convergence de l’algorithme)

  12. Conclusion • Complexité : pour comparer les algorithmes O(f(n)) : polynomial vs exponentiel • erreur d’arrondi précision - ordre de grandeur • erreur d’approximation algorithmique : ordre de l’approximation • procédures stables propagation des erreurs

  13. Exercices pratiques : complexité et erreur d’arrondi • Quelle est la complexité des programmes de la semaine dernière ? • Quel algorithme choisir ? • Vérifier que les trois programmes donnent le bon résultat • étudier la stabilité de ces algorithmes vis à vis des conditions initiales • comment évaluer efficacement un polynôme ? • Le problème vient du calcul de xn

  14. Un problème de base Une nouvelle variable explicative Une nouvelle expérience (individu) n équations et m+1 inconnues Xa=y

  15. Illustration : système de 2 équations à 2 inconnues • une solution unique • pas de solution • une infinité de solution • solution « triviale » : x1= x2 = 0 Les différents cas

  16. Que se passe t’il si… ? • On dispose d’un nouvel individu • on dispose d’une nouvelle variable • m=n • m<n • m>m • on recopie deux individus • on duplique une variable a X y =

More Related