Advertisement

Responsive Advertisement

Méthode de dichotomie

 

La méthode de dichotomie ou méthode de la bissection est un algorithme de recherche un encadrement plus fine d'un zéros d'une fonction. Cette méthode consiste à répéter des partages d’un intervalle en deux parties puis à sélectionner le sous-intervalle dans lequel existe un zéro de la fonction par l'application du théorème des valeur intermédiaires.

Dans la vidéo ci-dessous je vous montre comment programmer cette méthode sous MATLAB pour une fonction d'un seul variable.







Voici le code source de la fonction Dico.m qui sert à résoudre l'équation f(x)=0 sur un intervalle [a,b] avec une erreur donner :

function [Sol,iteration]=Dico(a,b,f,erreur)
% Soit f une fonction numérique et I=[a;b]
iteration=0;
while abs(b-a)>erreur
    iteration;
    if f(a)*f(b)<=0
        c=(a+b)/2;
        if f(a)*f(c)<=0
            b=c;
        elseif f(c)*f(b)<=0
            a=c;
        end
        Sol=a; 
    else
        disp('l"équation n"admet pas des solution sur l"intervalle I.')
        b=a;
        Sol=0;
        
    end
    iteration=iteration+1;
end
end

 


Voici un exemple de la résolution d'une équation f(x)=0 par l'utilisation de la fonction Dico.m


clear
clc
%% Calcule de f'
syms x 
f=cos(x.^2+2*x-5);
fp=diff(f,x) 
sol=solve(fp==0,x)

%% Résolution de l'équation f(x)=0

f=@(x) cos(x.^2+2*x-5);
a=-pi; b=pi; 
erreur=10^(-2);
[Sol,iteration]=Dico(a,b,f,erreur);

%% Construction de la courbe de f
f=@(x) cos(x.^2+2*x-5);
I=-100*pi:pi/2:100*pi;
F=f(I);
plot(I,F)











Enregistrer un commentaire

0 Commentaires