La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "ASI 3 Méthodes numériques pour l’ingénieur"— Transcription de la présentation:

1 ASI 3 Méthodes numériques pour 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 Exemples O(n) 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 : T : Ensemble des algorithmes R
; 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
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 = e-008 Représentation des nombres Précision : log([eps realmax realmin]) Maths de la continuité maths calculables ?

8 Erreur de codage (binaire)
s = 0; for i=1:n s = s+1/3; end » s-n/3 ans = e-008 Représentation des nombres Précision : log([eps realmax realmin]) 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 n équations et m+1 inconnues
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
x = 0:1; y = x; y2 = .5*x+.25; subplot(2,2,1);plot(x,y);hold on;plot(x,y2);hold off; xlabel('x_1') ylabel('x_2') title('solution unique') set(gca,'FontSize',14,'FontName','Times','XTick',[],'YTick',[],'Box','on'); y3 = x+.2; subplot(2,2,2);plot(x,y);hold on;plot(x,y3);hold off; title('pas de solution') 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 =


Télécharger ppt "ASI 3 Méthodes numériques pour l’ingénieur"

Présentations similaires


Annonces Google