Calcul approché d'intégrales

a marqué ce sujet comme résolu.

Bonjour à tous !

La beta du tutoriel a été mise à jour.

Merci pour vos relectures.

Ainsi, il serait, je pense, préférable de fusionner les deux premiers extraits : tu utiliserais la méthode des rectangles pour bien poser les notions, le principe et les notations, comme tu le fais dans le premier extrait actuellement.

Finalement après réflexion et demande auprès d'autres personnes, j'ai décidé de les garder séparées, mais de rajouter des images dans le premier extrait. Ces images pourront par contre être des exemples de la méthode des rectangle.

+0 -0

L'un des exemples le plus connu est (cette intégrale apparaît en probabilité) :

L'un des exemples les plus connus est (cette intégrale apparaît en probabilités) :

Notre objectif est donc de calculer une valeur approchée de ces intégrales.

Et mêmes celles dont on sait calculer la valeur exacte (mais ce qui pourrait prendre beaucoup trop de temps).

Ceci nous assure que f ne « parte pas vers l'infini » (l'intégrale de f correspond à l'aire sous la courbe, ne l'oublions pas).

J'aurais dit « ne part pas vers l'infini ». Mais Vayel sait surement mieux que moi :P.

On a ainsi une subdivision de notre intervalle.

Tu devrais plutôt dire « On appelle cet ensemble d'intervalles une subdivision. ».

On obtiendra alors une approximation de I(f). On aura :

Supprime le « On aura »

Et pour être plus précis, plus on choisira un petit pas (et donc plus on choisira un grand nombre de tranches), plus cette approximation sera précise. Le pas doit quand même rester positif (un pas nul ne fonctionnera pas bien entendu).

Sous condition que $g_i$ soit bien choisi.

Et finalement, toujours selon l'inégalité triangulaire (car xi+1>xi) :

J'aurai plutôt dit d'après Cauchy-Schwarz.

Écrivons cet algorithme en Python :

Très bonne idée.

Calcul de l'erreur

J'ai pas relu.

La méthode des trapèzes consiste à remplacer la fonction f sur chaque [xi,xi+1]

Problème dans les indices.

La connaissance des fonctions gi nous permet de calculer l'aire Ti des différents trapèzes :

Sur l'écriture de l'intégrale, il me semble qu'il est plus juste (en tout cas ça n'a pas du tout le même sens en géométrie différentielle si c'est fait autrement) de mettre des parenthèses :

$$\int_{x_i}^{x_{i+1}} \left( \frac{f(x_{i+1})-f(x_i)}{x_{i+1} - x_i}(x-x_{i}) + f(x_i) \right) {\rm d} x $$

Comme vous vous en doutiez, la méthode de Simpson est encore plus efficace que la méthode des trapèzes. La courbe de la fonction f est quasiment confondue avec les courbes des fonctions gi.

Parce que $f$ a surement une forme particulière. Tu devrais essayer en prenant un terme non négligeable en $x^3$ dans le DL de $f$.

Sinon j'ai pas trop lu la suite mais il me semble que ça n'a pas trop bougé.

Est-ce qu'on doit se pencher sur quelque chose en particulier ?

+0 -0

Salut,

Comme je passais sur la page d'aide des auteurs je suis tombé sur ce tuto alors j'ai décidé de faire une passe comme je le fais lorsque je fais ma "première passe de validation".

Voici ce que j'en dis :

  • L'introduction est très abrubte, brute de fonderie.
  • Le manque de diagramme/graphique fait perdre la visibilité à l'information. Sans compter que le principe général est très géométrique.
  • Le nom des variables laisse parfois à désirer (par exemple $i$).
  • Le cours semble "délié" comme un cours de math de lycée/première année de prépa en fait. Ce que je veux dire par là c'est que tu présupposes tellement de sous-entendu (typiquement : comme on fait des approximation, alors on fait des erreurs, donc c'est primordial de mesurer ces erreurs) qu'une personne qui n'est plus dans le milieu des maths théoriques se retrouve à devoir faire des efforts supplémentaires pour simplement savoir où on en est et quel est le rapport avec ce qu'on a fait avant. Essai de voir les transition entre tes parties.
  • C'est exactement pour les applications aussi graphiques qu'utiliser un petit JSFiddle serait bienvenu, fortement souhaitable et si c'était moi le validateur, ça serait même condition sine qua non pour la méthode du rectangle. (oui, je suis exigent, mais le but c'est de rendre fun les math)
  • globalement le listing de méthode, c'est quelque chose qui passe mal sur zds. C'est pas que c'est mauvais, c'est que le site n'est pas fait pour ça. Il faut donc que chaque nouvelle méthode "résolve" un problème. C'est plus complexe à présenter apriori, mais c'est un format qui suit très bien zds.

Voilà. Globalement le tuto est bon et me rappelle bien mes années prépa. Il n'est pas trop verbeux, ce qui lui permet d'être suffisamment léger pour être digeste. Néanmoins il y a trop de sous-entendu pour que ça soit publiable. Et aussi pas assez de visuel.

$\DeclareMathOperator{\e}{e} \DeclareMathOperator{\d}{d}$

Merci pour ton retour. Je trouve que ce que tu dis à propos de la manière dont le tout est amené et lié rejoins un peu un message laissé par Vayel. Pour régler ce problème, je peux faire un plan de ce type avec plusieurs chapitres.

Chapitre I : Introduction au problème + les rectangles ?

  • Problème : calculer la valeur d’une intégrale comme $\int_a^b \e^{−x^2} \d x$.
  • On peut calculer l’aire sous la courbe.
  • Comment calculer l’aire sous la courbe ? On ne connaît pas la fonction.
  • On va chercher une valeur approchée de cette aire.
  • Pour cela, on va calculer l’aire de petits rectangles qui se rapprochent de la fonction.
  • Comment passer de cette approche graphique aux calculs, introduction aux subdivisions.
  • La méthode des rectangles (la partie « calcul de l’intégrale » serait ici. Le calcul de l’intégrale correspond bien à ce qu’on avait
  • Algorithme et vérification de son fonctionnement sur une fonction dont on connaît l’intégrale.

Chapitre 2 - Performance et précision

  • Test de la méthode des rectangles sur plusieurs fonctions.
  • Sur certaines fonctions, elle est moins efficace (fonction avec une grosse « pente » par exemple).
  • Une subdivision fine donne de meilleurs résultats, donc prenons une subdivision plus fine.
  • Malheureusement, cela entraîne plus de calculs et ne règle pas le problème.
  • Essayons d’approcher notre courbe par quelque chose d’autres.
  • La pente de la fonction nous gênait. Utilisons la à notre avantage . Plutôt que de faire une droite horizontale, faisons une droite qui se rapproche de la pente.
  • La méthode des trapèzes. La méthode des points milieux.
  • Algorithme et vérification de son fonctionnement sur une fonction dont on connaît l’intégrale.

Suite du chapitre 2 ou chapitre 3 - La méthode de Simpson

Chapitre 3 ou 4 / Annexe : calcul de l’erreur

Comme ça, il y a un problème concret, puis une résolution qui amène à une méthode qu’on affine ensuite.

Le manque de diagramme/graphique fait perdre la visibilité à l'information. Sans compter que le principe général est très géométrique.

C'est exactement pour les applications aussi graphiques qu'utiliser un petit JSFiddle serait bienvenu, fortement souhaitable et si c'était moi le validateur, ça serait même condition sine qua non pour la méthode du rectangle. (oui, je suis exigent, mais le but c'est de rendre fun les math)

C’est vrai que ce serait mieux. Il ne me reste plus qu’à trouver un illustrateur pour faire tout ça. :)

+1 -0

Bonjour les agrumes !

La bêta a été mise à jour et décante sa pulpe à l'adresse suivante :

J’ai commencé à remodeler le tutoriel. Il y a maintenant plusieurs chapitres. L’introduction n’a pas encore été modifiée et pour le moment, seule l’écriture du premier chapitre est commencée, et il manque toutes les illustrations.

Merci d'avance pour vos commentaires.

+0 -0

J’ai un peu avancé oui. J’utilise matplotlib ou LaTeX pour faire les illustrations, mais j’espère pouvoir tout transformer en JSFiddle (donc si quelqu’un est partant). Bien sûr toute aide est la bienvenue. :)

+0 -0

En ce moment, j’ai un peu le syndrome de la page blanche et je préfère ne pas écrire plutôt qu’écrire quelque chose qui ne m’inspire pas (et donc ça fait un petit moment que je n’ai pas écrit), mais le tutoriel est toujours d’actualité. :)

+0 -0

En regardant rapidement ta bêta, je me rappelle que tu avais déjà très bien avancé sur ton tuto. Est-ce que tu as une liste de choses à faire pour le terminer ?

Oui, il ne reste presque rien à faire et je me fixe pour objectif de finir d’écrire le contenu et de bien le mettre en forme d’ici la fin de l’année (fin octobre idéalement).

N'hésite pas à venir me demander de la main d'oeuvre :)

Donc, il me faudrait un cuisinier, quelqu’un pour m’éventer, et un scribe pour rédiger à ma place. Je chercherais plutôt quelqu’un pour faire des JSFiddle pour illustrer le contenu.

+0 -0

Bonjour les agrumes !

La bêta a été mise à jour et décante sa pulpe à l'adresse suivante :

Merci d'avance pour vos commentaires.

EDIT :

De quel genre d'illustrations as-tu besoin ?

Il n'y a pas de PA en section 2D/3D donc je veux bien faire la demande moi même sur le forum, mais j'aurais besoin de plus d'infos.

J’étais sûr d’avoir déjà répondu à ce message. :euh:

Donc, il me faudrait surtout des JSFiddle. Par exemple, un JSFiddle de chaque méthode sur la fonction cosinus, et un autre de la méthode des rectangles sur une fonction affine et où l’utilisateur choisit le coefficient directeur.

+0 -0

Pour décrire la méthode des trapèzes, tu écris : * Vous voyez qu'on approche l'aire sous la courbe de la fonction par l'aire des ii trapèzes en rouge. Et surtout, vous voyez bien que la méthode des trapèzes est plus efficace que celle des rectangles (en fait elle est équivalente à la méthode des rectangles au point milieu). *

Non, elle n'est pas équivalente à la méthode des rectangles au point milieu (… d'ailleurs, il aurait été bon de présenter cette méthode au point milieu avant de s'en servir).

La méthode des trapèzes est la moyenne des 2 méthodes des rectangles présentées dans le paragraphe précédent : rectangles à droite, et rectangles à gauche.

Quelques morceaux de phrases qui m'écorchent les oreilles :

de manière à avoir à chaque fois l’aire de rectangle à calculer :-> l'aire d'un rectangle, ou éventuellement, l'aire de rectangleS

On a  que la largeur de chaque rectangle est :-> On a que .... bof

Notons qu nous aurions :-> que au lieu de qu

Nous l’avons testé sur la fonction cosinus et en divisant l’intervalle en 1000, nous avions obtenu :-> avons obtenu au lieu de avions.

Dernier point : la méthode des rectangles appliquée à la fonction cosinus sur l'intervalle [0,PI] , en découpant l'intervalle en 1000 rectangles, ça donne environ PI/1000 … coïncidence ?

Merci pour ton retour @elegance. Je vais prendre tout ça en compte.

Dernier point : la méthode des rectangles appliquée à la fonction cosinus sur l'intervalle [0,PI] , en découpant l'intervalle en 1000 rectangles, ça donne environ PI/1000 … coïncidence ?

Je sais pas si c’est une question, mais non ce n’est pas une coïncidence. On a que

$$ \sum_{k = 1}^{n - 1} \cos\left( \frac{k\pi}{n} \right) = 0. $$

Donc

$$ \frac{\pi}{n} \sum_{k = 0}^{n - 1} \cos\left( \frac{k\pi}{n} \right) = \frac{\pi}{n}. $$

+0 -0

Salut Karnaj,

Est-ce que tu as pu trouver quelqu'un pour les JSFiddle ?

Si c'est non, est-ce que tu ne penses qu'il vaudrait mieux chercher à publier et ensuite faire connaitre ta demande (qui sera peut-être plus visible si des personnes viennent à la lire dans ton tuto) ?

De manière générale je pense que tu devrais envoyer en validation.

Je pense que je vais faire comme ça.

+0 -0

Bonjour les agrumes !

La bêta a été mise à jour et décante sa pulpe à l'adresse suivante :

Merci d'avance pour vos commentaires.

Voilà, j’attends quelques commentaires et j’envoie cette version en validation.

+0 -0

Intro

Nous savons calculer de façon exacte plusieurs intégrales à l'aide de différentes techniques

Intro mal posée. Si tu t'adresses à un public lycéen, dis-le avant. Parce que moi j'ai envie de répondre que je sais résoudre autrement des intégrales :P.

En informatique, calculer la valeur exacte d’une intégrale est encore plus compliqué. On peut faire un programme à qui on donne une fonction et sa primitive et qui nous calcule alors la valeur d’une intégrale, mais trouver un algorithme qui trouve cette valeur seul (en trouvant une primitive, en effectuant un changement de variables, etc.), est beaucoup plus compliqué.

Faudrait revoir la formulation (et attention à l'orthographe, et ce sur l'ensemble de ton texte, c'est parfois malheureux !).

Introduction au problème

Dans ce tutoriel, nous allons nous fixer pour but de calculer numériquement n’importe quelle intégrale. Nous saurons alors calculer l’intégrale de la fonction f qui à x associe e−x2

Cela contredit ta conclusion. Il faut donc préciser ce passage pour éviter de "mentir".

le problème étant que nous n’en connaissons pas de primitive

Formellement, si, mais on ne connait pas de primitive explicitement exprimée.

Regardons la courbe de la fonction, peut-être nous donnera-t-elle une idée.

On parle plutôt de graphe que de courbe. Sinon on parle de courbe représentative.

Quoi ? Mais ça n’approche pas bien du tout la courbe. Les aires seront beaucoup trop différentes.

Le dessin est assez peu clair, il faut prendre le temps de le regarder. Donc je te conseille d'expliciter plus cette partie (en faisant un dessin avec uniquement l'approximation et un autre avec les deux superposés) pour bien mettre en évidence.

On additionne ces différentes aires.

Après ça tu donnes une formule avec des sigmas, il faudrait peut-être préciser rapidement cette notation qui n'a pas été introduite.

Par exemple, si la fonction tend vers l’infini à un moment, on aura un problème ; l’aire d’un rectangle de hauteur infini est… infinie.

Mauvais exemple, on pourrait avoir un point à l'infini mais tous les autres sont à distance fini et les rectangles ont donc une aire finie. D'ailleurs il y a des intégrales qui converge alors que la fonction tend vers l'infini.

Performance et précision

En gros, nous pouvons voir que la méthode des trapèzes est plus efficace que celle des rectangles.

Eviter les "en gros" !

Puisqu’il s’agit de fonction affine, on a

Trop rapide.

La méthode de Simpson

Comme nous pouvions nous en douter, la méthode de Simpson est encore plus efficace que la méthode des trapèzes

Moi, au contraire, j'en doute. Parce que polynôme de degré 2 rime aussi avec plus de calculs. Donc c'est pas évident, donc éviter de dire que ça l'est !

On a donc

Pas de "donc" ici, c'est tombé du ciel et il faudrait faire plus de raisonnement pour "découvrir" ces polynômes. Si tu ne veux pas détaillé, ce n'est pas gênant, mais évite de dire que c'est immédiat.

Nous pouvez vérifier, ces polynômes font bien ce qu’on leur demande.

Ecris-le avec au moins un polynôme, les lecteurs ne vont pas faire la vérification par eux-même.

S’il paraît logique que l’intégrale de Li et de Li+1 soient les même

Ce ne sont pas les mêmes !

J'ai pas vérifié le calcul, j'espère qu'il est bon.

Annexe

C'est quoi les $g_i$ ? Il faudrait rappeler les fonctions pour pas avoir à faire de retour sur les pages précédentes.

J'ai pas vérifié le calcul.

Cela signifie que pour avoir une approximation de …

Non, on ne peut pas connaître la fonction d'erreur juste à partir d'un $O(1/n)$. (Il peut au moins y avoir des constantes multiplicatives qui se cachent, et potentiellement très grandes).

Pour effectuer le calcul de l’erreur, nous allons faire comme pour la méthode des rectangles. Nous allons cette fois supposer f

Tu as mis de classe $C_2$ au lieu de $C^2$.

Je vérifie pas non plus les calculs.

Dommage de n'avoir rien mis pour Simpson. Pas moyen de mettre quelque chose dans la balise secrète ?

J’ai trouvé une manière de rédiger simplement le calcul de l’erreur pour la méthode de Simpson (et ça permet également de raccourcir celui de la méthode des trapèzes et celui de la méthode des rectangles).

On considère $f$ de classe $C^3$ de sorte que $f^{(3)}$ est majorée par une constante $k$ sur $[a, b]$. On pose

$$ E(x) = \int_{c - x}^{c + x} f(x) - \frac{x}{3} \left(f(x_i) + f(x_{i + 1}) + 4f(c) \right)$$
.

On a alors pour $x = \frac{x_{i + 1} - x_{i}}{2}$ et $c$ étant un point milieu (donc $c - x = x_i$ et $c + x = x_{i + 1}$)

$$ \begin{aligned} E(x) &= \int_{c - x}^{c + x} f(x) - \frac{x}{3} \left(f(x_i) + f(x_{i + 1}) + 4f(c) \right)\\ &= \int_{x_i}^{x_{i + 1}} f(x) - \frac{x_{i + 1} - {x_i}}{3} \left(\frac{f(x_i) + f(x_{i + 1})}{2} + 2f(c) \right). \end{aligned} $$

Ce qui correspond à l’erreur sur l’intervalle $[x_i, x_{i + 1}]$. Ainsi, une majoration de $E$ nous donnera une majoration de l’erreur.

On dérive trois fois,

$$ \begin{aligned} E’(x) &= \frac{2}{3} \left( f(c + x) - f(c - x) \right) - \frac{x}{3} \left(f’(c + x) + f’(c - x)\right) - \frac{4}{3} f(c).\\ E’’(x) &= \frac{1}{3}\left( f’(c + x) - f’(c - x) \right) - \frac{x}{3} \left(f’’(c + x) + f’’(c - x)\right).\\ E^{(3)}(x) &= - \frac{x}{3} \left(f^{(3)}(c + x) + f^{(3)}(c - x)\right). \end{aligned} $$

Et donc, on a,

$$ \left| E^{(3)}(x) \right| \leq \frac{2kx^2}{3}. $$

En intégrant trois fois sur $[0, x]$ (on a $E(0)$, $E’(0)$ et $E’’(0)$ nuls), on obtient successivement $\left| E’’(x) \right| \leq \frac{2kx^3}{9}$, $\left| E’(x) \right| \leq \frac{kx^4}{18}$ et finalement

$$ \left| E(x) \right| \leq \frac{kx^5}{90}. $$

Et donc, pour $x = \frac{x_i - x_{i + 1}}{2} = \frac{b - a}{2n}$ et $c = x_{i{,}5}$, on obtient

$$ \left| \int_{x_i}^{x_{i + 1}} f(x) - \frac{x_{i + 1} - {x_i}}{3} \left(\frac{f(x_i) + f(x_{i + 1})}{2} + 2f(x_{i{,}5}) \right) \right| \leq \frac{k(b - a)^5}{2880n^5}. $$

Et donc en sommant les erreurs, on obtient

$$ \left|\varepsilon_n\right| \leq \frac{k(b - a)^5}{2880n^4}. $$

+0 -0

Bonjour les agrumes !

La bêta a été mise à jour et décante sa pulpe à l'adresse suivante :

Merci d'avance pour vos commentaires.

Des correction suites aux remarques d’Holosmos, sauf l’orthographe (je m’en occuperais en dernier) et celle-ci (je ne vois pas trop par quoi la remplacer).

Par exemple, si la fonction tend vers l’infini à un moment, on aura un problème ; l’aire d’un rectangle de hauteur infini est… infinie.

Mauvais exemple, on pourrait avoir un point à l'infini mais tous les autres sont à distance fini et les rectangles ont donc une aire finie. D'ailleurs il y a des intégrales qui converge alors que la fonction tend vers l'infini.

Vu que j’ai changé la partie sur le calcul de l’erreur (une autre méthode de calcul sans intégration par partie et avec moins de calcul), je veux bien des retours dessus.

+0 -0
Ce sujet est verrouillé.