Université de Tissemsilt L2 Génie Mécanique
Département de Génie Mécanique Module : Méthodes Numériques
TP 4 : Méthode de Newton-Raphson (Tangentes)
Code Matlab :
function MNR
% Méthode de Newton Raphson (MNR)
% Demander à l'utilisateur d'entrer la fonction f(x)
expression = input('Entrez la fonction f(x): ', 's');
f = str2func(['@(x) ', expression]);
% Demander à l'utilisateur d'entrer les bornes de l'intervalle [a, b]
a = input('Entrez la borne inférieure de l''intervalle: ');
b = input('Entrez la borne supérieure de l''intervalle: ');
% Demander à l'utilisateur d'entrer la valeur initiale x0
c = input('Entrez la valeur de x0: ');
% Créer une fonction symbolique
syms x;
fp = diff(f(x), x);
eps = 1;
% Initialiser des listes pour stocker les valeurs de c et f(c) à chaque itération
c_values = [];
fc_values = [];
while eps > 1e-8
fc = f(c);
fpc = double(subs(fp, c)); % ?valuer la dérivée à la valeur actuelle de c
d = c - (fc / fpc);
eps = abs(d - c);
c = d;
% Ajouter les valeurs actuelles à la liste
c_values = [c_values, c];
fc_values = [fc_values, fc];
end
fprintf('La racine est %.6f\n', c);
% Tracer la fonction f(x) dans l'intervalle [a, b]
x_values = linspace(a, b, 1000);
f_values = double(subs(f, x_values)); % ?valuer la fonction sur le tableau de
valeurs;
% Tracer les points (c, f(c)) en rouge
figure;
plot(x_values, f_values, 'LineWidth', 2, 'DisplayName', 'f(x)');
hold on;
scatter(c_values, double(subs(f, c_values)), 50, 'r', 'filled', 'DisplayName',
'Points de convergence');
xlabel('x');
ylabel('f(x)');
legend;
grid on;
title('Convergence de la méthode de Newton-Raphson');
% Tracer la convergence de la racine
figure;
plot(1:length(c_values), c_values, '-o', 'DisplayName', 'Valeurs de c');
xlabel('Itération');
ylabel('Valeur du solution Alpha');
grid on;
title('Convergence de la méthode de Newton-Raphson');
end
Interprétation des résultats :
En calculant la racine de 𝑓(𝑥) dans l’intervalle [−1,1] avec 𝑥0 = 0,5 tel que :
𝑓(𝑥) = 𝑥 4 − 2𝑒 2𝑥 + 1
Donc on obtient un solution égale à −0,339941, d’autre part nous avons :
𝑓( −0,339941) = 5,33 × 10−7
Figure 1 : Convergence de la méthode de Newton-Raphson : f(x) en fonction de x
Figure 2 Convergence de la méthode de Newton-Raphson : Solution 𝛼 en fonction de nombre des
itérations