• Aucun résultat trouvé

8 . L a r e c h e rc h e d e « z é ro s »

N/A
N/A
Protected

Academic year: 2022

Partager "8 . L a r e c h e rc h e d e « z é ro s »"

Copied!
12
0
0

Texte intégral

(1)

Université de GenèveDépartement d'informatique

P ro g ra m m e r e n

8 . L a r e c h e rc h e d e « z é ro s »

« In tr o d u c tio n à l’ in fo rm a tiq u e » s e m e st re d 'é té 2 0 0 2 O liv ie r S c h a a d

B ib lio g ra p h ie

•Introductory JAVA for Scientists and EngineersRichard Davies, ed Addison-Wesley, 1999,ISBN 0-201-39813-3,http://cseng.aw.com/

•http://www.jscieng.co.uk/

•http://www.jscieng.co.uk/Code/NumComp/

(2)

R e ch e rch e d e « z é ros »

• L a re che rche d e « z é ros » d ’une fo n ct io n p e rm e t d e m a n iè re g é n é ra le d e tr o u v e r u n e s o lu tio n à l’ é q u a tio n :

f(x,y,....) = zf(x,y,...) –z = 0

• L a re che rche de z éros de la dér iv ée d ’u n e f o n c tio n p e rm e t d e t ro u v e r d e s v a le u rs s in g u liè re s te lle s q u e m in im a e t m a x im a

M é thod e s nu m é riqu e s

• L a r é s o lu tio n d ’u n e é q u a tio n f (x

i

) = 0 n ’e s t p a s t o u jo u rs p o s s ib le o u r é a lis a b le p a r u n e v o ie a n a ly tiq u e ( la p lu s p ré c is e , la p lu s c o m p lè te ). D a n s d e n o m b re u x c a s e n s c ie n c e s , il e s t n é c e s s a ir e d e re c o u rir à d e s m é th o d e s n u m é riq u e s q u i n é c e s s it e n t l’é c rit u re d e p ro g ra m m e s o u a u m in im u m l’ e m p lo i d e p ro g ra m m e s in fo rm a tiq u e s .

(3)

E x e m p le

00.20.40.60.811.21.41.61.82 -20 0 20 40 60 80 100

Z ér o

T h é o rè m e f o n d a m e n ta l

• L a r e c h e rc h e n u m é riq u e d e « z é ros » u tili s e le s c o n s é q u e n c e s d ir e c te s d ’u n th é o rè m e f o n d a m e n ta l d ’a lg è b re :

–Si une fonction continue et monotone dansl’intervalle [a,b] possède la propriété quef(a) * f(b) < 0 alors cette fonction possèdeune valeur x telle f(x) = 0

(4)

T h é o rè m e f o n d a m e n ta l

00.20.40.60.811.21.41.61.82 -20 0 20 40 60 80 100

ab f(b) f(a) f(a)*f(b) < 0.0

Z ér o

M é th o d e d e r e c h e rc h e d e z é ro s : -1 - re c h e rc h e e x h a u s tiv e

•Méthode exhaustive : à partir de a on calculela valeur de f(a), puis f(a+x) et on évalue lavaleur de la fonction. Si la valeur de f(a + nx) est suffisamment proche de zéro onconserve cette valeur de a +nx. et oncontinueCette méthode ale mérite de la simplicité de sonconcept et de sa mise en oeuvre.C’estune méthode robuste qui permet l’obtention deplusieurs solutions.C’estune méthode qui n’est pas pas optimale dupoint de vue du tempsde calcul.

(5)

-1 - re c h e rc h e e x h a u s tiv e P s e u d o -c o d e

1 x = a ( borne inférieur)2 calculde x = x +x3 calcul de f(x)4 tester si f(x) < epsilon ( valeur acceptable)4’ si f(x) < Epsilon conserver x4’’ si f(x) > Epsilon ne rien faire5 tester si x est supérieur à b (borne supérieure)5’ si oui alors on arrête5’’ si non alors on continue la boucle en 2

M é th o d e d e r e c h e rc h e d e z é ro s : -2 - re c h e rc h e a lé a to ir e

• C e tt e m é th o d e c o n s is te à c h o is ir u n n o m b re a lé a to ir e d a n s l’ in te rv a lle [ a ,b ] p u is d ’é v a lu e r s a s im ili tu d e a v e c la v a le u r z é ro .

–Méthode plus rapide–Méthode robuste, exhaustive si le nombrede tirage est grand–Méthode lente dans certains cas–Ne présente pas d’effet de mémoire

(6)

-1 - R e c herche a lé a to ire P s e u d o -c o d e

1 calculde x = a+ rand [0 1] * (b-a)3calcul de f(x)4 tester si f(x) < epsilon ( valeur acceptable)4’ si f(x) < Epsilon conserver x4’’ si f(x) > Epsilon ne rien faire5 tester si Nle nombre de tirages est suffisant5’ si oui alors on arrête5’’ si non alors on continue la boucle en 1

M é th o d e d e r e c h e rc h e d e z é ro s : -3 - re c her c he p a r b is s e c tio n

•La méthode par bissection est une méthoderapide et simple permettant de trouver lasolution d’une équationLafonctiondoit êtrecontinue dans l’intervalle [a,b].La fonction doit avoirunsigne différent à la borne ade la borneb.Cette méthode est plus rapide quela rechercheexhaustive.Cette méthode permet l’obtention d’une solution,encas de solutions multiplesdans l’intervalle [a,b] laméthode par bissectionvaprocurer qu’une seulesolution.Afin d’obtenir d’autres solutions,il convient demodifier les bornes [a,b].

(7)

-3 - R e c h e rc h e p a r b is s e c tio n P rinc ip e

• A fin d e t ro uve r une s o lu tio n o n c a lc u le le p o in t m ili e u d e l’ in te rv a lle [ a ,b] , le p o in t c p u is o n é v a lu e s i l a f o n c tio n c h a n g e d e s ig n e e n tr e [ a c ] o u [ c ,b ]. • L e s o u s in te rv a ll e c h o is i, o n l’ u tili s e p o u r l’i té ra tio n s u iv a n te . • L ’a rr ê t e s t d é te rm in é p a r c o m p a ra is o n d e f (x ) a v e c u n e v a le u r E p s ilo n p ro c h e d e z é ro c h o is ie p a r l’u tili s a te u r.

R echerche p a r b isse ct ion P rinc ip e

0)(*)( 2 0)(*)(

bfcf cbc afcf100

b 80604020100

ab 080-20600.82.01.21.600.440ac200-200.82.01.21.600.4

(8)

-3 - R e c h e rc h e p a r b is s e c tio n P s e u d o -c o d e

1 milieu= moyenne des deux bornes [a,b]2 calculde f(a),f(b),f(milieu)3 tester la valeur de f(milieu)si la valeur est acceptable arrêter4tester si f(milieu)*f(b)< 04’ si oui le milieu devient la nouvelle gauche (a)4’’ si non le milieu devient la nouvelle droite (4)5on boucle via 1

-3 - R e c h e rc h e p a r b is s e c tio n c o d e j a v a

//repetitiontantque la valeur > epsilon etNiter<maxIter

epsilon = epsilon*epsilon ;

milieu=(a+b)/2.0;

y=f(milieu) ;

gauche=a;droite=b;

Niter=0;

while((y*y>epsilon) && (Niter<MaxIteration)){

Niter=Niter+1;

milieu=(gauche+droite)/2.0;

y=f(milieu) ;//change demaniereaetredansl'intervalle qui change de signeif (y*f(droite) <=0) {

gauche = milieu}

else{

droite = milieu;}

}

(9)

-3 - R e ch e rch e p a r b iss e ct ion a pp le t ja v a

-1-0.500.511.522.53 -8 -6 -4 -2 0 2 4 6

E x em p le d’ app le t :

R e ch e rch e d e « z é ros » -4 - M é th od e d e N e w to n

• L a m é th o d e d e N e w to n o u s o n a p p li c a tio n p lu s g é né ra le : N e w to n - R a p h s o n s o n t d e s a lg o rit h m e s p lu s ra p id e s q u e la m é th o d e d e b is s e c tio n .

–Méthode rapide–Moins stable–Dépend plus des conditions de départ–L’idée de base est une approximation par une série de Taylor

(10)

-4 - M é th o d e d e N e w to n

Série de Taylor

•Une expansion en série de Taylord’une fonctionconsiste àcalculer les différentesdérivées de lafonction étudiée, puis de calculer une somme :

...'''6 ''2 )(')()( 22f hf hxhfxfhxf

•Si h est petit et que la fonction est monotone, lestermes audelà de la première dérivée peuvent êtrenégligés

)(')()(xhfxfhxf

-4 - M é th o d e d e N e w to n

Série de Taylor

On recherche quef(x+h) soit égale à zéro

)(' )()(')(0)( )(')()(

xf xfhxhfxfhxf xhfxfhxf

Ce qui nous procure la formule itérative suivante :

)(' )(

1n nnnxf xfxx

Cetteformule nécessite la connaisance de la dérivée, ellepeut êtrenumérique estimée :

h hxfhxfxfn2 )()()('

(11)

-4 - M é th o d e d e N e w to n

Interprétation géométrique

4

)(' )(

1n nnnxf xfxx 3.532.52

1.5

10.5

0-0.5-1-1.5

11.21.41.61.822.22.42.62.83

-3 - R e c h e rc h e p a r b is s e c tio n P s e u d o -c o d e

1.Choisir un x de départ2.calculer x(n+1) = x(n) –f(x)/derivée(f(x))3.tester la valeur de f(x)si la valeur est acceptable arrêter4.on boucle via 2

(12)

-3 - R e c h e rc h e p a r b is s e c tio n c o d e j a v a

Niter=0; double x=xo; y=f(x);while((y*y>epsilon) && (Niter<MaxIteration) ) {Niter++;x = x-f(x) /deriv(x,h);y=f(x) ;}// Estimationnumérique de la dérivée d’une fonction«f»publicstaticdoublederiv(double x, double h){return (f(x+h)-f(x-h))/(2.0*h);}

-3 - R e ch e rch e p a r N e w ton a pp le t ja v a

-1-0.500.511.522.53 -8 -6 -4 -2 0 2 4 6

x in iti al

E x em p le d’ app le t :

Références

Documents relatifs

A partir du moment où on a démontré la version &#34;implication forte&#34; des axiomes et des régles de déduction de la théorie formelle intuitionniste des corps réels clos avec

n Malgré la révision à la hausse des prix des voitures (pour répercuter la dépréciation du dinar), les concessionnaires ont globalement vu leurs marges se

« Les frais de reconstitution des titres de propriété d’immeubles ou de droits immobiliers pour lesquels le droit de propriété du défunt n’a pas été constaté avant son

Effet petit à modéré pour diminuer la douleur, sévérité des sx, dépression, anxiété, améliorer la qualité de vie.. MBSR et MBCT plus efficace que la thérapie ecclectique

A la Fête de la science, dans les ateliers sur la chimie nous avons parti- cipé à des expériences : nous avons créé des arômes avec des feuil- les et de

A notre avis, à l’exception de la situation décrite au paragraphe 1 ci-dessus, les états de synthèse cités au premier paragraphe de ce rapport donnent, dans

6.2.1 MURS EXTERIEURS ET INTERIEURS STRUCTURELS DU NIVEAU -1 AU NIVEAU +11 Maçonnerie en BBL (Blocs de Béton Lourd) ou tout élément structurel en béton, épaisseur suivant plans

steht: elementltren~ lies: