diff --git a/num/tp2/README.md b/num/tp2/README.md new file mode 100644 index 0000000..2841ea7 --- /dev/null +++ b/num/tp2/README.md @@ -0,0 +1,60 @@ +# TP2 Résolution d'équation $f(x)=0$ +On s'interesse à la résolution numérique d'une équation $f(x)=0$, où de manière équivalente à +$g(x)=x$ avec $g(x)=f(x)+x$. + +## Newton +### Principe de la méthode +Elle consiste à remplacer progressivement une valeur $x_n$, proche de la solution $f(x)=0$, +par une valeur $x_{n+1}$, plus proche de la solution, définie par : + +- on trace la tangente $T$ au graphe de $f$ au point $ (x_n,f(x_n))$ +- $x_{n+1}$ est l'abscisse du point d'intersection de $T$ avec l'axe des $x$. L'idée est d'approcher la solution de $f(x) = 0$ avec la solution de $T(x)=0$. +<div align="center"> +<img src="./img/newton.png"> +</div> + +1. Montrer que la suite $ (x_n)$ est définie par la formule de récurrence +\[ + x_{n+1} = x_{n} - \frac{f(x_n)}{f'(x_n)} +\] + +2. on s'interesse au cas particulier $f(x)=x^2-2$. Montrer que la récurrence précédente devient (Méthode de Héron) +\[ + x_{n+1} = \frac{x_n+\frac{2}{x_n}}{2} +\] +3. Ecrire une fonction scilab + ``` + --> function [x]=Heron(x0,n) + // x0 <-> valeur initiale pour la suite + // n <-> nombre d'itérations + // x <-> valeur calculée + ``` +4. Comparer la vitesse de convergence avec la méthode dichotomique du tp1, en calculant l'erreur commise en fonction + du nombre d'itérations (on considère que la solution exacte est`sqrt(2)`). + +5. Vérifiez que la méthode est d'ordre 2 (ou pas), en calculant $\frac{|e_{i+1}|}{|e_i|}$. + +6. Ecrire une fonction scilab + ``` + --> function [x n]=newton(f,df,x0,eps) + // f <-> fonction + // df <-> fonction dérivée de f + // x0 <-> point de depart + // eps <-> precision + // x <-> valeur calculée + // n <-> nombre d'itérations necessaires + ``` + Pour le test d'arrêt, on arrête le calcul dès que $|x_{n+1} - x_n |$ est plus petit que la précision souhaitée. + Évidemment `f` et `df` doivent être définies ! + + - Testez avec la fonction $f(x)= x - \cos x$ + - Tester avec la fonction $f(x)=x^2 -2$ + - Tester avec la fonction $\cos x - x^2$ + - Trouver une valeur approchée de **toutes** les racines de la fonction $x^3-4x+1$ + +6. Pour la fonction $\cos$ calculer la racine approchée pour les valeurs initiales $x_0=1,2,\ldots,10$, placer +les valeurs initiales et les solutions sur le graphe de la fonction $\cos$ et commenter. + +7. Reprendre les questions précédentes en utlisant la fonction `fsolve` de scilab. + + diff --git a/num/tp2/img/Newton.png b/num/tp2/img/Newton.png new file mode 100644 index 0000000..17ea661 Binary files /dev/null and b/num/tp2/img/Newton.png differ diff --git a/num/tp2/img/newton.png b/num/tp2/img/newton.png new file mode 100644 index 0000000..c133ff4 Binary files /dev/null and b/num/tp2/img/newton.png differ