![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzxvwMKfUhTcyTiV_deAKsXD1oEAJ2uiYNs9vIHBXSDPTfnXoZnxGnXXooGaWHrwXLJoTayIz66D6GHVnmewbI_6ne-G9DznaSr4sYEjlPwaBS_5U4uN41khPELlzfInInF94i_3NDwr0/s320/al-khwarizmi.jpg)
Une équation dite du second degré est une équation qui admet formule générale :
ax²+bx+c=0 a,b, et c étant des coefficients complexes tels que a#0. L'inconnue x est un nombre complexe, en tout évidence.
Origines
Le problèmes des équations du second degré existe déjà chez les babyloniens, les égyptiens et les grecs. Ce n'est qu'au IXe siècle que le mathématicien Iranien musulman AL-KHWARIZMI fort de l'apport grec ,découvre une méthode de résolution de ces équations particulières. Les équations du second degré son les premières équations résolues; les équations mathématiques sont inventées en même temps que l'algèbre par ce même savant, véritable génie du calcul. L'algèbre n'utilisait cependant aucun symbole jusqu'à la Renaissance qui marque l'entrée du savant français VIETE François.
Resolution d'une équation du second degré : forme canonique et
discriminant
On part de l'équation initiale pour aboutir à une forme dite canonique, soit :
ax²+bx+c =a (x²+x*b/a +c/a)
=a [(x+b/2a)²-(b/2a)²+c/a]
=a [(x+b/2a)²-b²/4a² +c/a]
=a [(x+b/2a)²-(b²-4ac)/4a²] // Forme Canonique du trinome du second degré
On appelle le discriminant la valeur Δ = b² − 4ac
C'est à partir de cette valeur ( le discriminant) que nous discuterons des solutions de notre équation.
Si Δ >0
Notre équation admet deux solutions réels :
x1= (-b-sqrt( Δ ))/2
sqrt: racine carrée
x2=(-b+sqrt( Δ ))/2
si Δ = 0
Notre équation admet dans ce cas une solution double :
x1=x2=x= -b/2a
Si Δ < 0
Alors, l'équation admet deux solutions complexes qui sont :
x1=(-b-i sqrt(Δ ))/2
sqrt: racine carrée
x2=(-b+i sqrt(Δ ))/2
Exemples
Resolvons cette équation
Δ = 3² - 4*1*(-4) = 9+16=25 >0; Il ya donc deux solutions réelles
x1= (-3-5)/2= -4
x2= (-3+5)/2= 1
d'ou S={1, -4}
On aurait pu utiliser le fait qu'il y est une solution évidente, ici 1 .
Or :
x1 +x2 = -b/a et x1*x2=c/a
En utilisant la dernière relation, on a : -1*x2=c/a=-4, donc x2=4
Voici un programme en Matlab permettant des équations de degré 1 à 3....Il faut simplement spécifier le degré dès le début du programme.
-------------------------------------------------------------------------------------------------
%Auteur : Charles S.
%Fichier: SolveEqua.m'
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
% Ce programme permet la résolution d'équations linéaires de degré n=1,2,3
%dont les solutions sont dans l'ensemble des nombres complexes C. La réso
%lution des équations de degré 1 et 2 se fait de façon classique (On utili-
% se des méthodes élémentaires) et pour des équations de degrés 3 , on uti-
%lisera une méthode particulière ,dite méthode de Cardan-Tartaglia. Il en
%existe bien d'autres, mais je me limiterai à celle-ci....
%
%NB: Le programme se lance en appuyant sur F5....Enjoy it!
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
clear all;
clc;
deg=input('Degré de l''équation : ');
%**************************************************************************
%On effectue le premier test --> degré 1
%**************************************************************************
if deg==1
disp('Nous allons résoudre des équations du type : Ax+B=0 , avec A et B réels')
disp('***********************************************************************')
A=input('Valeur de A : ');
B=input('Valeur de B : ');
if A==1
disp(['L''équation x+' num2str(B) ' =0 admet pour solution :']);
else
disp(['L''équation ' num2str(A) 'x+' num2str(B) ' =0 admet pour solution :']);
end
disp([' x= ' num2str(-B/A)]);
end
%**************************************************************************
%Si le premier n'est pas ton choix, on passe au second --> degré 2
%**************************************************************************
if deg==2
disp('Nous allons résoudre des équations du type : Ax²+Bx+C=0, avec A,B,C réels et A non nul')
disp('**************************************************************************************')
A=input('Valeur de A : ');
if A==0
disp('Désolé, mais A doit être non nul. Veuillez recommencer svp')
return;
else
B=input('Valeur de B : ');
C=input('Valeur de C : ');
if (A==1&&B==1)
disp(['Il s''agit donc de résoudre : x²+x+' num2str(C) '=0'])
elseif (A==1)&&(B~=0)
disp(['Il s''agit donc de résoudre : x²+' num2str(B) 'x+' num2str(C) '=0'])
else
disp(['Il s''agit donc de résoudre : ' num2str(A) 'x²+' num2str(B) 'x+' num2str(C) '=0'])
end
disc=B*B-4*A*C;
%Tests sur la valeur du discriminant....
%=======================================
if disc>0
x1=(-B-sqrt(disc))/2*A;
x2=(-B+sqrt(disc))/2*A;
disp(['Cette équation admet deux solutions réeles : x1= ' num2str(x1) ' et x2= ' num2str(x2)])
end
if disc==0
x_d=-B/2*A;
disp(['Cette équation admet une solution double : x1=x2= ' num2str(x_d)])
end
if disc<0
disp('Cette équation admet deux solutions complexes : ')
disp(['x1=' num2str(-B/2*A) '-' num2str(sqrt(-disc)/2*A) 'i et x2= ' num2str(-B/2*A) '+' num2str(sqrt(-disc)/2*A) 'i'])
end
end
end
%**************************************************************************
%Si le deuxième n'est pas votre choix, on passe au troisième --> degré 3
%**************************************************************************
if deg==3
disp('Nous allons résoudre des équations de la forme Ax^3+Bx^2+Cx+D=0')
A=input('Valeur de A : ');
B=input('Valeur de B : ');
C=input('Valeur de C : ');
D=input('Valeur de D : ');
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%--*--*--*--> NB : Il faut connaître (ou pas nécessairement) la méthode de
%Cardan-Tartaglia pour comprendre la suite du programme. Cette méthode
%permet en effet la résolution des équations de degrés 3 de la forme :
% x^3+px+q=0....On généralise ensuite cette méthode de résolution à des
% équations de la forme Ax^3+Bx^2+Cx+D=0 en posant x=z-B/3*A
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
p=-(B/3*A)^2+C/A;
temp00=(2*B*B)/(A^2)-(9*C/A);
q=(B/27*A)*temp00+D/A;
disc3=q.^2+(4*p.^3)/27;
sqrt3=1/3;
temp0=B/(3*A);
if (B<0)&&(c<0)&&(d<0)
disp(['L''equation: ' num2str(A) 'x^3 ' num2str(B) 'x^2 ' num2str(C) 'x' num2str(D) '=0 possède 3 solutions :'] )
else
disp(['L''equation: ' num2str(A) 'x^3 ' num2str(B) 'x^2 ' num2str(C) 'x + (' num2str(D) ') =0 possède 3 solutions :'] )
end
disp('==================================================================')
%Tests sur la valeur du discriminant....
%=======================================
if disc3>0
disp('disc >0')
u=((-q+sqrt(disc3))/2).^sqrt3;
v=((-q-sqrt(disc3))/2).^sqrt3;
z1=u+v;
disp(['- une solution réelle: x1= ' num2str(z1-temp0)])
disp(['- deux solutions complexes : x2=' num2str(-z1/2-temp0) '+' num2str((sqrt(3)*(u-v))/2) 'i et x3= ' num2str(z1/2-temp0) '-' num2str((-sqrt(3)*(v-u))/2) 'i' ])
end
if disc3==0
z1=(3*q)/p;
z2=(-3*q)/(2*p);
disp('disc =0')
disp('Nous avons deux solutions réelles :')
disp(['-Une simple : x1= ' num2str(z1-temp0)])
disp(['-Une double : x1=x2= ' num2str(z2-temp0)])
end
if disc3<0
disp('disc <0')
temp1=2*sqrt(-p/3);
temp2=acos(-q*0.5*sqrt(-27/(p.^3)));
z1=temp1*cos((temp2+2*pi)./3);
z2=temp1*cos((temp2+2*2*pi)./3);
z3=temp1*cos((temp2+2*3*pi)./3);
x1=z1-temp0;
x2=z2-temp0;
x3=z3-temp0;
disp('L''équation possède trois solutions réelles : ')
disp([' -x1= ' num2str(x1)])
disp([' -x2= ' num2str(x2)])
disp([' -x3= ' num2str(x2)])
end
end
2 commentaires:
charles c'est bien ton blog ou bien?c'est toi encha parce que je suis un peu perdu là.en tous cas chapeau à celui à qui appartient ce blog
anaclet
Enregistrer un commentaire