Vous êtes sur la page 1sur 3

DEVOIR DE CALCUL SCIENTIFIQUE

Participant

DELENE TCHIO ROMUALD 20U2808


ANGO FARNEL JUNIOR GIVERA 20U2658
MAFOSSO NGNEGHAJI MEGANE 20U2721

I. méthode de la bissection
La méthode de la bissection est basée sur l’observation suivante :
Considérons une fonction f qui est continue et qui s’annule une seule
fois dans l’intervalle [a, b]. Dans ce cas, il est certain que l’on a
f(a).f(b) < 0. Ce résultat est connu sous le nom de théorème des
valeurs intermédiaires.

Ce résultat peut être exploitée pour trouver la racine de f dans [a, b]


en essayant de réduire l’intervalle initial. En effet si f(a).f(b) < 0
alors on sait qu’il existe un d tel que la fonction f s’annule dans
l’intervalle [a, d] avec d < b. On peut généraliser cette observation
comme suit pour retrouver une racine de f
1. On calcule c (a+b)/2
2. Si f(c) = 0 alors la solution est trouvée
3. Si f(c) 6= 0 et f(c).f(b) < 0 alors on pose a = c et on revient en 1
4. Si f(c) 6= 0 et f(c).f(a) < 0 alors on pose b = c et on revient en 1
On peut ainsi développer un algorithme itératif pour la recherche des
racines d’une fonction.
La condition d’arrêt dans l’algorithme peut être l’obtention d’un
intervalle de petite taille dans lequel la fonction s’annule.

Code Matlab
function [a,b] = Bissection(a,b,f,tol)
% M´ethode de la bissection
while(abs(a-b) > tol)
c = (a+b)/2;
fc = f(c);
fa = f(a);
fb = f(b);
if( c == a | c == b)
return;
end
if(fc == 0)
a = c;

b = c;

return
else
if(fc*fb < 0)
a = c;
else
b = c;
end
end
end

Code
Fonction bisection(a,b,f,m,ε

Tant que (b - a) > ε


m ← (a + b) / 2
Si (f(a)*f(m) ≤ 0) alors
b ← m
sinon
a ← m
Fin Si
fin

II. La méthode de Newton-Raphson


La méthode de Newton-Raphson est l’une des méthodes de point fixe les
plus utilisées.

Elle est encore appelée la m´méthode de la tangente `à cause de sa


formulation géométrique.
La formulation géométrique de cette approche est illustrée dans la figure
ci-dessous :

Code Matlab

function [x,err] = Newton(x0,tol,f, fp)

% M´ethode de Newton-Raphson

x1 = x0;
x = x1 - f(x1)/fp(x1);
while(abs(x-x1) > tol)
x = x1 - f(x1)/fp(x1);
end
err = abs(x-x1);
return;

Code

newton=function(x0,epsi,f,fp){
x=x0
while(abs(f(x))>epsi) {
x=x-(f(x)/fp(x))
print(x)
}
return(x)
}
}

III. La méthode de la sécante


Dans certaines situations il peut être difficile d’appliquer la méthode
de Newton-Raphson en particulier `à cause de la détermination de la
fonction f(x). Dans ces cas, on peut
utiliser une approximation de la dérivée.

Code

def secante(a,b,n):

for i in range(n):
a = a-f(a)*(b-a)/(f(b)-f(a))
return a

Voici un algorithme pour la méthode de la sécante, implémenter dans


Matlab :

Code Matlab

function [resultat] = methodeSecante(f,a,b,N)


for n=1:N
b=a-f(a))*(a-b)/(f(a)-f(b))

end
resultat=b;
disp("resultat "+string(resultat))
endfunction

Vous aimerez peut-être aussi