Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Introduction
Dans ce TP, nous nous intéressons à la résolution numérique des équations non linéaires de type f(x) = 0. Pour résoudre ce type de problème,
deux méthodes sont utilisées :
>> x=[-3:0.1:3];
1
2
-1
-2
-3
-4
-3 -2 -1 0 1 2 3
2
Figure1: Représentation graphique du f
La méthode de dichotomie
La méthode de dichotomie permet d'approcher le zéro d'une fonction continue en cas de changement de signe. Le principe est de tester le signe
de la fonction au point courant, en divisant la taille de l'intervalle d'étude par deux à chaque itération (voir Algorithme 1). Cette méthode est
basée sur le principe des valeurs intermédiaires.
3
1. Implémenter cet algorithme sous Matlab.
4
Algorithme 1 Algorithme de dichotomie
Paramètres d'entrées : f, a, b
f : fonction continue sur un intervalle I
deux réels a et b de I tels que f(a)f(b) < 0
Paramètres de sorties : x, n
x : approximation du zéro de la fonction f
n : nombre d'itérations nécessaires pour atteindre x
function [ y ] = ff( x )
y= sin(2*x)-1+x;
end
clear
clc
a=1;
b=-1;
5
eps=0.0001;
if (ff(a)*ff(b)<0)
while abs(b-a)>eps
m=(a+b)/2;
if ff(m)*ff(a)<0
b=m
else
a=m
end
end
format long
disp(m)
disp(n)
end
eps 0.0001 0.00001 0.000001 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
1 01 001 0001 00001 000001
n 15 18 21 25 28 31 35 38 41 45
X0 0.3522338 0.3522872 0.3522882 0.3522884 0.3522884 0.3522884 0.3522884 0.3522884 0.3522884 0.35228845
=[ 86718750 92480469 46154785 24968719 62221622 55702364 56459064 56466340 56459974 6460826]
new 0.3522884
ton 0.3509670 46685919
62362530
6
0.3523
0.3523
0.3523
0.3523
0.3523
0.3523
0.3522
0.3522
1 2 3 4 5 6 7 8 9 10
Méthode de Newton
On souhaite calculer une valeur approchée d’une racine d’une fonction f donnée, partant d’un point x0 donné. La racine doit être calculée avec
une précision de ε.
– Quels sont les paramètres d’entrée ? Quels sont les paramètres de sortie ?
end
7
clear
clc
x1=0.4;
eps=0.0001;
xn1=x1-ff(x1)/df(x1);
while abs(xn1-x1)>eps
xn1= x1-ff(x1)/df(x1)
x1=xn1;
end
la méthode de newton est plus rapide puisque les nombres d’itérations est plus faible