In [1]:
%reset -f
%matplotlib inline
%autosave 300
#import sys #only needed to determine Python version number
#import matplotlib #only needed to determine Matplotlib version number

#print('Python version ' + sys.version)
#print('Matplotlib version ' + matplotlib.__version__)
from math import *
from matplotlib.pylab import *
Autosaving every 300 seconds

Nous allons comparer une fonction $f$ de $\mathbb R$ dans $\mathbb R$ avec son développement limité (un polynôme!) en un point à différents ordre. Nous devons d'abord définir la fonction $f$ puis définir de façon automatique une approximation des développements limités à l'aide d'approximation des dérivées en un point.

Construction d'une fonction et de son graphe

Définir la fonction $f$ telle que $f(x)=\sin(x^2)$ puis évaluer et afficher $f(1)$.

In [ ]:
 

Déssiner la fonction sur l'intervalle $[-3,3]$ à l'aide de $500$ points de discrétisation.

In [ ]:
 

Calcul de la dérivée approchée en un point

On va calculer, à partir de la définition du nombre dérivée $$f^\prime(x_0)=\lim_{h\to 0} \frac {f(x_0+h)-f(x_0)}{h},$$ une approximation de $f^\prime(x_0)$ en évaluant le taux d'accroissement pour $h$ "petit". Proposer une fonction "fprime" qui approche la dérivée. Tracer ensuite le graphe de la dérivée sur $[-3,3]$.

In [ ]:
 
In [ ]:
 

Montrer que pour une fonction $f$ régulière l'approximation suivante, pour $h$ petit $$ f'(x_0)\sim \frac {f(x_0+h)-f(x_0-h)}{2h},$$ est plus précise que l'approximation construite par $$ f'(x_0)\sim \frac {f(x_0+h)-f(x_0)}{h}. $$

Définir la fonction "fprimebis" construite sur l'approximation plus précise. Comparer leur évaluation en un même point.

In [ ]:
 
In [ ]:
 

Comparer sur un graphe, la fonction analytique $f'$ calculée à la main (exacte), la fonction "fprime" et la fonction "frimebis". Pour observer des différences, modifiez la taille du pas $h$ en le choisissant plus gros ($h=10^{-1}$ par exemple).

Calcul de la dérivée seconde approchée en un point

Montrer que pour $f$ régulière de $\mathbb R$ dans $\mathbb R$, $$ f^{\prime \prime}(x_0) =\lim_{h\to 0} \frac {f(x_0+h)-2f(x_0)+f(x_0-h)}{h^2}. $$

Construire alors la fonction approchée du calcul de la dérivée seconde et représenter le graphe de $f''$ sur $[2,3]$.

In [105]:
 
In [ ]:
 

Nous allons comparer, au voisinage de $1$ (On choisira l'intervalle $[\frac 1 2,\frac 3 2]$, la fonction $f$ ainsi que sa tangente et sa parabole approchante (celle construite sur le développement limité à l'ordre $2$).

On notera "tang" le tableau de l'évalation de l'ordonnée de la tangente pour les points equirépartis de $\frac 1 2$ à $\frac 3 2$ du tableau "x1". On notera de même "parab" le tableau de l'évalation de l'ordonnée de la parabole approchante. Tracer alors le graphe des trois fonctions sur $[\frac 1 2,\frac 3 2]$. Refaire ces graphes sur $[0.9,1.1]$

In [ ]:
 
In [ ]:

Interpolation de Lagrange

Nous allons proposer maintenant de nouvelles approximations polynômiales qui ne s'appuient pas sur le développement limité de la fonction. Nous allons introduire l'interpolation de Lagrange qui consiste à construire l'unique polynôme $p$ de $\mathbb R^{k}[x]$ qui satisfait $(p(x_\ell)=f(x_\ell))_{0\le \ell\le k}$ pour $x_0<x_1<\cdot\cdot<x_k$.
Par exemple, par 2 points du plan passe une unique droite, par 3 points (d'abscisses distinctes) passe une unique parabole...

Le premier objectif est de définir la fonction d'interpolation affine paramétrée par l'abscisse $x$ et les coordonnées des 2 points d'interpolation.
Il convient alors de faire de même pour l'interpolation parabolique à 3 points. Tracer, sur $[-3,3]$ le graphe de la fonction affine et les deux points d'interpolation. LA justification des formules d'interpolation devra être rédigée.

In [116]:
def affine(x,xtab,ytab):
    return (x-xtab[0])*(ytab[1]-ytab[0])/(xtab[1]-xtab[0])+ytab[0]
In [117]:
affine(1,[0,2],[2,3])
Out[117]:
2.5
In [ ]:
 
In [130]:
 

Proposer la construction d'une fonction qui construit l'interpolation de Lagrange pour deux tableaux de points d'interpolations (de même taille quelconque supèrieure à $2$). (question difficile, fonction définie de façon récursive).

In [ ]: