Equation du 4e degré dans l'informatique

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Siteac
Membre Naturel
Messages: 10
Enregistré le: 26 Mai 2006, 15:01

equation du 4e degré dans l'informatique

par Siteac » 24 Nov 2006, 18:58

Salut tout le monde,

Je voulais juste savoir quelle methode la plus adaptable à l'algorithmie vous me conseilleriez pour faire une résolution d'une équation du 4e degré afin de faire un programme en C.

@+



maturin
Membre Irrationnel
Messages: 1193
Enregistré le: 09 Nov 2006, 16:28

par maturin » 24 Nov 2006, 19:03

ben le plus facile c'est la dichotomie.
en plus efficace t'as la méthode de newton (qui consite a partir d'un point de ta courbe, de prendre la tangeante en ce point et de trouver le croisement de cete tangeante et de l'axe des abscisse puis tu recommences en le point de cette nouvelle absisse)

Quidam
Membre Complexe
Messages: 3401
Enregistré le: 03 Fév 2006, 16:25

par Quidam » 24 Nov 2006, 19:08

Siteac a écrit:Salut tout le monde,

Je voulais juste savoir quelle methode la plus adaptable à l'algorithmie vous me conseilleriez pour faire une résolution d'une équation du 4e degré afin de faire un programme en C.

@+


Pas évident sans utiliser la méthode de Ferrari ! Qui est assez compliquée, mais les ordinateurs...c'est fait pour travailler à notre place...

Cela dit, sans utiliser cette méthode, je conseillerais de trouver un minorant a et un majorant b des solutions réelles (euh, je suppose que les solutions complexes ne t'intéressent pas ! Mais si c'est le cas, je pense que tu ne peux pas échapper à la méthode de Ferrari !). Et à essayer le polynôme pour a et b, puis par dichotomie, en coupant en deux (pour essayer f((a+b)/2), puis quatre (pour essayer f(a+(b-a)/4) et f(a+3(b-a)/4) puis 8,...etc jusqu'à trouver des valeurs de signes contraires.

Mais même ça, ce n'est pas vraiment facile à implémenter, car il est difficile, tant qu'on n'a pas 4 solutions identifiées, d'être certain qu'il n'en reste plus, si l'on évite la méthode de Ferrari !)

alben
Membre Irrationnel
Messages: 1144
Enregistré le: 18 Mai 2006, 21:33

par alben » 24 Nov 2006, 19:11

Bonjour,

la méthode de Ferrari est à éviter comme la peste. Il faut donc aller vers des méthodes numériques. Il en existe beaucoup, la difficulté essentielle étant de déterminer dans quelle zone se situent les racines.
Cela pose la question de ce que tu veux faire : trouver toutes les racines réelles, également celles qui sont complexes ?
Ou bien tu cherche une racine réelle dont tu as une idée de l'ordre de grandeur ?
Sinon, d'accord avec maturin, la methode de newton est de loin la plus efficace ... quand on sait où sont les racines

Edit Oui Quidam, je n'avais pas vu ton message, c'est vrai que pour situer les racines, il est peut-être plus simple de passer par Ferrari

Siteac
Membre Naturel
Messages: 10
Enregistré le: 26 Mai 2006, 15:01

par Siteac » 24 Nov 2006, 19:16

Je précise que je m'interesse à toute les racines complexes et réelles mais a des coefficients a, b, c et d réels (avec ax^4 + bx^3+cx²+d=0).
Edit : Je n'ai aucune idée d'où sont les racines, en faites l'utilisateur du programme devra rentrer a b c et d et le programme lui renvoi les racines

alben
Membre Irrationnel
Messages: 1144
Enregistré le: 18 Mai 2006, 21:33

par alben » 24 Nov 2006, 19:34


Siteac
Membre Naturel
Messages: 10
Enregistré le: 26 Mai 2006, 15:01

par Siteac » 24 Nov 2006, 20:00

Ya quelquechose que je ne comprend pas : dans different programme de C resolvant le 4e degré il y a des opération du style

b3=1;
b2=-a2/a4;
b1=((a3*a1)/(a4*a4))-((4*a0)/(a4));
b0=(a0/a4)*(((4*a2)/(a4))-((a3*a3)/(a4*a4)))-((a1*a1)/(a4*a4));

puis le programme verifie les racines du degré 3 du polynome (b3,b2,b1,b0) et selon differentes valeurs de racines effectue differentes operations.


Autre question : ce site propose une methode de résolution pas trop mal pour l'algorithmie : http://fordom.free.fr/tuto/EQUAT.htm
Esque cette methode est destructrice et arrondie les resultat à la dizaine :), est elle viable? A t'elle un nom ?

alben
Membre Irrationnel
Messages: 1144
Enregistré le: 18 Mai 2006, 21:33

par alben » 24 Nov 2006, 21:09

J'avoue ne pas avoir le courage d'étudier l'algorithme décrit dans ton lien, il semble correspondre à la méthode classique.
Si tu veux améliorer la précision, tu peux toujours embrayer sur une méthode de newton à partir des résultats approchés.
NB : la méthode de newton double le nombre de décimales exactes à chaque itération.
Si tu pars d'une racine à 0,1 prés, en dix itérations, tu as 1000 décimales exactes, en supposant que ton ordinateur soit capable de suivre. Plus concrètement, en 4 ou 5 itérations, tu atteins la précision maxi de ta machine

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 27 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite