{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.4 Interpolation par intervalles\n", "\n", "### Interpolation linéaire par morceaux\n", "\n", "Soit $f: \\mathbf [a,b] \\rightarrow R$ continue et $a=x_0<\\ldots>> COMPLETE HERE <<<\n", "\n", "\n", "\n", "plt.xlabel('x'); plt.ylabel('y');\n", "plt.legend(['data','p(x)'])\n", "plt.show()\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercice\n", "\n", "Dessinez le graphe de la fonction de Runge et l'interpolateur linéaire par morceaux \n", "sur l'intervalle $[-5,5]$ pour $N=3,5,10$\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# interval and function\n", "a = -5; b = 5\n", "f = lambda x : 1/(1+x**2)\n", "\n", "# >>> COMPLETE HERE <<<\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Erreur d'interpolation linéaire par morceaux \n", "\n", "#### Théorème \n", "\n", "Soient $f\\in C^{2}([a,b])$, $H = \\frac{b-a}{N}$, $x_i = a + iH$ pour $i=0,...,N$.\n", " \n", "Soit $E^H_1f(x) = f(x) - \\Pi_1^{H} f(x)$, alors\n", "$$\\max_{x\\in I}\\mid E^H_1f(x) \\mid\\leq \\dfrac{H^2}{8}\\max_{x \\in I} | f''(x)|.$$\n", "\n", "**Preuve**\n", "D'après la formule, sur chaque intervalle $I_i=[x_i,x_{i+1}]$, on a\n", " \n", "$$\\max_{x\\in[x_i,x_{i+1}]}\\mid E^H_1f(x)\\mid \\leq\n", " \\dfrac{H^2}{4(1+1)}\\max_{x\\in I_i}\\mid f''(x)\\mid.$$\n", "\n", "**Remarque**\n", "On peut aussi montrer que, si l'on utilise un polynôme\n", "de degré $n$ ($\\geq 1$) et si l'on dénote $E^H_nf(x) = f(x) - \\Pi_n^{H} f(x)$,\n", " dans chaque sous-intervalle $I_i$, on\n", "trouve\n", "\n", "$$\\max_{x\\in I}\\mid E^H_nf(x) \\mid \\leq \\dfrac{H^{n+1}}{4(n+1)} \\max_{x \\in I} |f^{(n+1)} (x)| \\, .$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interpolation quadratique par morceaux\n", "\n", "Soit $f: \\mathbf [a,b] \\rightarrow R$ continue et $a=x_0<\\ldots