ax+b=0

31/05/2021

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)











0 commentaries:

Enregistrer un commentaire