[PDF] [PDF] Analyse numérique en Python, Intégration et - cpge paradise

possible de trouver par le calcul une telle primitive F, aussi s'en remet-on parfois à un calcul numérique de l'intégrale La plupart des méthodes d'intégration 



Previous PDF Next PDF





[PDF] Mathématiques et Python - Apprendre-en-lignenet

1 4 Un exemple : calcul d'intégrales Pour illustrer les capacités de base de Python, nous proposons de calculer de manière numérique la valeur de I = ∫ b a



[PDF] Analyse numérique avec Python - Normale Sup

22 mai 2014 · Python) quelques algorithmes classiques d'analyse numérique Le but est de résoudre sur un segment [a, b] Pour calculer son intégrale ap-



[PDF] Analyse numérique en Python, Intégration et - cpge paradise

possible de trouver par le calcul une telle primitive F, aussi s'en remet-on parfois à un calcul numérique de l'intégrale La plupart des méthodes d'intégration 



[PDF] Calcul Scientifique avec Python - Institut de Mathématiques de

Nous présentons donc le langage Python et donnerons quelques algorithmes standard pour • calculer des intégrales numériques • interpoler une fonction



[PDF] Informatique TP3 : Calcul numérique dune intégrale - [Verimag]

En Python, la valeur absolue de x est obtenue avec abs(x) Exercice 3 Testez l' algorithme pour le cas où f(a) > 0 et f(b) ≤ 0 Modifiez-le en 



[PDF] TD: Intégrale multiple - ISEN-Brest

Si l'on veut calculer certaines propriétés de l'atome de magnesium (12 électrons), on est amené `a intégrer des Si l'on utilise 64 points pour calculer numériquement chaque intégrale, il faudra réaliser 6436 ≃ 1065 3 Code avec Python



[PDF] BTS SN 1 TP Python : Intégrales 1 Méthodes des rectangles

TP Python : Intégrales Le but du TP est de comparer des algorithmes de calcul approché d'inté- tion à intégrer, ou que celles-ci sont difficiles à calculer



[PDF] Exercices de programmation Python Exercice 1 Lire des

partir d'un nombre fini de valeurs ce qui rend de fait impossible tout calcul d' intégrale Considérons un intervalle [a, b] et une subdivision σ = (ak)0≤k≤n de cet 



[PDF] Méthodes numériques et langage Python Intégration numérique

8 oct 2019 · Primitive F connue mais pas une fonction élémentaire (intégrale de exp(−x2)) ▷ Primitive trop difficile `a calculer numériquement 2 / 16

[PDF] python intégration numérique

[PDF] exercice python euler

[PDF] le médecin malgré lui acte 2 scène 4

[PDF] méthode dichotomie python

[PDF] le message andrée chedid résumé détaillé

[PDF] résolution équation différentielle matlab ode45

[PDF] le message andrée chedid genre

[PDF] algorithme méthode d'euler implicite matlab

[PDF] méthode de tir équation différentielle

[PDF] le message andrée chedid quiz

[PDF] le message andrée chedid extrait

[PDF] méthode euler implicite matlab

[PDF] le message andrée chedid texte intégral

[PDF] fonction ode45 matlab

[PDF] le message andrée chedid fnac

Intégration et dérivationCe chapitre est le premier d"une série s"intéressant à la question du calcul numérique.

encore de chimie. Comme une grande partie de ces chapitres sont liés au calcul numérique sur des flottants, il sera bon de garder en tête les limitations issue de la représentation machine de ces flottants.1I ntégrationnumé rique 1.1

U tilitéde l "intégrationnumé rique

Considérons une fonctionf, définie sur un sous-ensemble de R et à valeur dans R : f:x7¡!f(x) On suppose cette fonctionfdéfinie et intégrable sur un intervalle[a,b](oùaetbsont deux réels). On souhaiterait calculer la quantité I [a,b](f)AEZ b a f(») d» La méthode usuellement employée en mathématiques consiste à déterminer une pri- mitiveFde la fonctionf, puis à déterminerF(b)¡F(a). Il n"est cependant pas toujours possible de trouver par le calcul une telle primitiveF, aussi s"en remet-on parfois à un calculnumériquede l"intégrale. La plupart des méthodes d"intégration numérique sont des méthodes dites dequadra-

ture. Elles s"efforcent d"approcher la quantité recherchée à partir des valeurs que prend la

fonction en un certain nombre de pointsuipris dans l"intervalle[a,b]. Dans ce chapitre, nous présenterons et étudierons quelques-unes de ces méthodes d"intégration par quadrature.1.2D ifférentesa pprochesdu p roblèmede l "intégration Les méthodes que nous allons présenter dans la suite s"efforcent d"approximer la fonc- tionfdont on recherche une intégrale par une fonctionfaussi proche defque possible et dont on connaît une primitive, et par conséquent pour laquelle il est aisé de calculer l"intégrale. On peut également envisager les choses sous un autre angle, équivalent. Rappelons que pour une fonctionfpositive sur[a,b], lorsqueaÇb, la quantitéRb af(») d»correspond à

l"aire géométrique comprise entre la courbe associée à la fonctionfet l"axe des abscisses.abxy

yAEf(x) Déterminer l"intégrale consiste donc à estimer cette aire, aussi l"approximation defparf peut être vue comme l"approximation de la forme géométrique sous la courbe defpar une forme géométrique dont l"aire est connue (rectangle, trapèze, etc.). Il n"est en fait pas nécessaire quefsoit positive, ni queaÇb, sous réserve que l"on tra-

vaille avec des aires algébriques, et les formules que l"on établira s"étendront naturellement

à ces situations.1.3M éthodedu r ectangle

La forme géométrique la plus simple que l"on puisse considérer pour notre problème est un rectangle, dont la base serait l"axe des abscisses, les côtés se situant au niveau des abscissesxAEaetxAEbet le sommet " au niveau def». On peut envisager plusieurs solutions pour le choix de la hauteur du rectangle. La

première, appelée " rectangle gauche », illustrée ci-dessous, consiste à choisir pour hauteur

f(a) :abxy

L"estimation

ˆI[a,b](f) de l"intégrale I[a,b](f) correspond alors à l"aire du rectangle, soit

I[a,b](f)AE(b¡a)£f(a)

1

De façon équivalente, cela revient à faire l"hypothèse que, pour»2[a,b],f(»)'f(a), ce

qui conduit donc à écrire I [a,b](f)AEZ b a f(») d»'Z b a f(a) d»AE(b¡a)£f(a)AEˆI[a,b](f) Bien que la méthode du rectangle gauche puisse parfois avoir un intérêt pratique, on peut lui trouver une amélioration toute simple : plutôt que de prendre la valeur defà

l"abscissexAEa, on lui préférera la valeur defau point situé au milieu de l"intervalle[a,b].

C"est la méthode dite dupoint milieu.abaÅb2xy Dans le cas de la méthode du point milieu, l"estimationˆI[a,b](f) de l"intégraleI[a,b](f) s"écrit

I[a,b](f)AE(b¡a)£fµaÅb2

On peut espérer que, dans un cas comme celui illustré précédemment, l"erreur commise dans un sens sur la première moitié de l"intervalle est partiellement compensée par une erreur commise dans l"autre sens sur la seconde moitié de l"intervalle. Nous reviendrons plus tard sur l"estimation de l"erreur commise lors de l"utilisation des différentes méthodes d"intégration numérique. Implémenter cette méthode en Python ne présente aucune difficulté. On écrira par exemple :defIntegrationPointMilieu(f, a, b) : return(b-a)* f((a +b)/2)

Bien évidemment, cette méthode est encore très grossière. Par exemple, l"intégration par

la méthode du point milieur de la fonctionsinsur [0,¼] donnerait le résultat¼, bien loin

de la valeur théorique (égale à 2). Mais la méthode du point milieu (et les méthodes qui

suivent) serviront de base pour construire des solutions beaucoup plus précises.1.4M éthodedu tra pèze

Pour s"approcher convenablement à la fois du point (a,f(a)) et du point (b,f(b)), on peut envisager de considérer un trapèze, dont les bases s"appuient sur les abscissesxAEa etxAEb, dont un côté est l"axe des abscisses, et l"autre le segment entre les points (a,f(a)) et (b,f(b)). Autrement dit, on approche l"intégrale par l"aire du trapèze représenté ci-dessous :abxy

Dans cette situation, l"estimation

ˆI[a,b](f) de l"intégrale I[a,b](f) s"écrira

I[a,b](f)AE(b¡a)£f(a)Åf(b)2

Ce résultat peut se retrouver simplement en constatant que le calcul de l"aire du trapèze revient à intégrer sur l"intervalle[a,b]une fonction affinefpassant par les points (a,f(a))

et (b,f(b)), ce qui donc correspond à l"expression suivante :f:x7¡!f(x)AEf(a)Åf(b)¡f(a)b¡a£(x¡a)

puis en calculant l"intégrale de cette fonctionfsur l"intervalle[a,b], soit

I[a,b](f)AEZ

b af(») d»AEf(a)£(b¡a)Åf(b)¡f(a)b¡a£(b¡a)22

AE(b¡a)£f(a)Åf(b)2

L"implémentation Python est immédiate :defIntegrationTrapeze(f, a, b) : return(b-a)* (f(a) +f(b))/ 2 1.5M éthodede S impson Plutôt que d"approximer la courbe par un segment, comme dans les approches précé- dentes, on peut vouloir utiliser un arc de parabole, c"est-à-dire par une fonction polyno- miale d"ordre deux. Ainsi, la méthode de Simpson1propose d"approcher la fonctionf sur l"intervalle[a,b]par une fonctionfpolynomiale d"ordre deux, qui prend non seule- ment les mêmes valeurs quefaux abscissesaetb, comme la méthode du trapèze, mais

également à l"abcissem, correspondant au milieu de l"intervalle[a,b]:f(a)AEf(a)f(b)AEf(b) etf(m)AEf(m) avecmAEaÅb2

1. laquelle n"est pas explicitement mentionnée dans le programme, mais pourra se révéler utile.

2 Le graphe ci-dessous illustre un exemple de fonctionfpolynomiale d"ordre 2 appro-

chant, au sens des critères précédents, une fonctionfdont on cherche l"intégrale :abaÅb2xy

Il sera étudié en détail dans le cours de mathématiques le problème de l"interpola- tion polynomiale, c"est-à-dire la détermination du (ou des) polynôme(s) satisfaisant des contraintes telles que celles présentées ici. Il est possible de montrer (on l"admettra pour le moment) qu"il existe un unique polynôme du second degré qui réponde à nos présents besoins (sous réserve quea6AEb). On se contentera ici de construire une telle fonction polynomiale. Les polynômes du second degré s"annulant enmet enbsont de la forme :

P:x7¡!K(x¡m)(x¡b)

oùKest une constante réelle. Un seul de ces polynômes, s"annulant enmet enb, prend la valeurf(a) pourxAEa: P aetbet prenant la valeurf(m) pourxAEm: P Ainsi qu"une fonction polynômiale s"annulant aux abscissesuetwet prenant la valeur f(v) pourxAEv: P La somme de ces trois fonctions polynômiales donne donc une fonction polynômiale du second degré qui correspond à nos attentes : L"intégrale de cette fonction polynomiale ne pose pas de difficulté particulière, et donne Zb a

P(») d»AE(b¡a)£f(a)Å4f(m)Åf(b)6Cette fois encore, l"implémentation en Python est immédiate :

defIntegrationSimpson(f, a, b) : return(b-a)* (f(a) + 4 *f(m)+ f(b)) / 6 1.6B ilan Comme on peut le voir, toutes les formules qui ont été proposées jusqu"à présent (et celles qui le seront dans la suite également d"ailleurs) apparaissent comme le produit de la largeur de l"intervalle,b¡a, par une moyenne pondérée des valeurs que prend la fonction pour différentes valeurs dex. Pour l"instant, ces valeurs étaientxAEa,xAE(aÅb)/2 etxAEb. pour le point milieu,{0,1,0}; pour la méthode du trapèze,{1/2,0,1/2}et enfin pour, la méthode de Simpson, {1/6,4/6,1/6}. On peut considérer d"autres abscisses dans l"intervalle[a,b], et d"autres coefficients, ce qui conduira à autant d"autres méthodes avec leurs forces et leurs faiblesses. Nous compa- rerons la précision obtenue avec les approches précédentes un peu plus tard. En attendant, il est assez facile d"imaginer des fonctions pour lesquels même une approximation par un arc de parabole ne donnera pas un bon résultat. Aussi nous faut-il améliorer quelque peu les choses.2Mét hodesc omposites 2.1

P rincipe

On pourrait envisager d"approcher la fonction que l"on cherche à intégrer par des fonc- que l"on sait intégrer. En pratique, toutefois, les choses deviennent rapidement complexes, et il existe une meilleure approche. Pour déterminer une valeur approchée de cette aire, on peut découper l"intervalle[a,b] en un ensemble denintervalles [ui,uiÅ1] vérifiant (en supposantaÇb) Lesuiétant connus, on peut décomposer notre intégrale : Z b a f(») d»AEZ u1 u

0f(») d»ÅZ

u2 u

1f(») d»Å...ÅZ

un u n¡1f(») d»

fsera peut-être suffisamment " régulière » pour que les méthodes précédentes soient de

bonnes approximations. On utilisera donc les méthodes précédentes pour calculer les 3 intégrales sur chacun desnintervalles, et on en fera la somme. On parle de méthodes d"intégrationcomposites. Le découpage le plus simple de l"intervalle[a,b]est un découpage régulier, enninter- valles [ui,uiÅ1] de largeur (b¡a)/n. On peut alors définir simplement lesui: u iAEaÅb¡an £i On retrouve bienu0AEaetunAEbavec la formule précédente. Si l"on applique la méthode du rectangle gauche, on a donc

I[a,b],n(f)AEn¡1X

iAE0b¡an fµ aÅb¡an

AEb¡an

n¡1X iAE0fµ aÅb¡an En Python, cela s"écrirait par exemple :defIntegrationRectComposite(f, a, b, n) : pas (b a) n # On crée une liste pour recueillir les termes de la somme liste # On évalue la fonction aux différentes abscisses u_i foriinrange(n) : liste append ( f(a i pas) ) # Et enfin on calcule la somme des différents termes returnpas* math .fsum(liste) On remarquera que l"on n"a pas utilisé un accumulateur pour calculer la somme, comme on l"a fait fréquemment précédemment. En effet, on travaille ici sur des flottants, avec les limitations que leur représentation machine impose. Si le nombre d"intervallesnest très grand, les derniers termes de la somme pourraient être partiellement absorbés, ce qui donnerait des imprécisions sur le résultat. Autant laisser à Python le soin d"effectuer la somme des différentes contributions le plus soigneusement possible! L"inconvénient est qu"il nous faut mémoriser chacun desntermes de la somme, ce qui représentent pour de grandes valeurs denun certain coût mémoire. Il existe des solutions

pour éviter à la fois les soucis de précision et un trop grand coût en terme de mémoire,

mais nous ne nous attarderons pas dessus pour le moment. On peut procéder de la même façon avec la méthode du point milieu, pour laquelle on peut écrire

I[a,b],n(f)AEn¡1X

iAE0b¡an fµ aÅb¡an

AEb¡an

n¡1X iAE0fµ aÅb¡an defIntegrationPointMilieuComposite(f, a, b, n) : pas (b a) n liste foriinrange(n) : liste append ( f(a (i 0.5 pas) ) returnpas* math .fsum(liste) Graphiquement, cette méthode du point milieu composite consiste à approximer l"aire sous la courbe defpar la somme des aires d"un ensemble de rectangles, comme ci- dessous :abxy Il est assez logique de penser que si le nombrend"intervalles, donc de rectangles, est assez grand, on s"approchera avec une assez bonne précision de l"aire recherchée! Il en est de même pour la méthode des trapèzes :

I[a,b],n(f)AEn¡1X

quotesdbs_dbs27.pdfusesText_33