Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
mouss33
Inscrit le: 09 Oct 2006 Messages: 7
|
Posté le: 21 Avr 2007 14:01 Sujet du message: polynomes |
|
|
bonjour tout le monde
j'aurais besoin d'un coup de main sur une procédure maple que j'ai à faire :
en fait on me demande d'écrire une procédure "racines" qui a pour argument a,b,c et qui renvoie une approximation à 10^-10 près de alpha1<alpha2<alpha3 les 3 racines du polynomes p(x)=x^3+ax^2+bx+c en utilisant l'algorthime suivant :
1) calculer r1 et r2 les racines de P' (avec r1<r2)
2) trouver une approximation de alpha2 par dichotomie
3) on pose x0=r2+1.Appliquer la méthode de newton avec cet x0 comme valeur initiale pour calculer alpha3
4) On pose x0=r1-1. En s'inspirant de 3) calculer alpha1.
5) afficher les 3 racines
Tester la procédure sur l'exemple suivant : P(x)=x^3+2x^2-x-2
voila ce que j'ai fait :
j'ai créer une procédure dichotomie:
Dichotomie := proc(f, a, b, alpha, beta, prec, n)
local test, l, alpha1, alpha2, beta1, beta2, res;
test := 1;
if abs(evalf(f(a + (b-a)/2))) <= alpha*(b-a)/2 and abs(evalf(D(f)(a+(b-a)/2))) <= beta*(b-a)/2
then return (Dichotomie(f,a,a+(b-a)/2,alpha,beta,prec,n+1), Dichotomie(f,a+(b-a)/2,b,alpha,beta,prec,n+1));
elif evalf(f(a)*f(b))<0 then return dicho(f, a, b, prec);
end if;
end proc:
mais après je n'ai aucune idée comment je pourrais me débrouiller pour compléter cette algorithme.
si quelqu'un pouvait me donner un petit coup de pouce, ca m'aiderait beaucoup! |
|
Revenir en haut de page |
|
 |
robby3
Inscrit le: 10 Oct 2006 Messages: 21 Localisation: bordeaux
|
Posté le: 21 Avr 2007 14:11 Sujet du message: |
|
|
Salut,je crois que déja tu as ceci dans le cas de 3 racines simples réelles.
r1:=-a/3-sqrt(delta)/6: r2:=-a/3+sqrt(delta)/6:
ça doit répondre à a)
avec ça tu dois pouvoir continuer à la b) |
|
Revenir en haut de page |
|
 |
robby3
Inscrit le: 10 Oct 2006 Messages: 21 Localisation: bordeaux
|
Posté le: 21 Avr 2007 16:11 Sujet du message: |
|
|
tu connais une procedure pour la méthode de Newton?  |
|
Revenir en haut de page |
|
 |
mouss33
Inscrit le: 09 Oct 2006 Messages: 7
|
Posté le: 21 Avr 2007 16:15 Sujet du message: |
|
|
non je n'en connais pas.
c'est une des raisons pour lesquelles je coince sur cette procédure |
|
Revenir en haut de page |
|
 |
robby3
Inscrit le: 10 Oct 2006 Messages: 21 Localisation: bordeaux
|
Posté le: 21 Avr 2007 17:57 Sujet du message: |
|
|
ok ben comme j'en connais pas non plus,j'ai cherché un peu sur le net mais j'ai juste la méthode faudrait la mettre en langage maple ...
Je laisse faire les personnes plus compétentes que moi.
A+  |
|
Revenir en haut de page |
|
 |
mouss33
Inscrit le: 09 Oct 2006 Messages: 7
|
Posté le: 21 Avr 2007 17:58 Sujet du message: |
|
|
d'accord merci quand meme! |
|
Revenir en haut de page |
|
 |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
|
Revenir en haut de page |
|
 |
robby3
Inscrit le: 10 Oct 2006 Messages: 21 Localisation: bordeaux
|
Posté le: 22 Avr 2007 15:16 Sujet du message: |
|
|
Re Monsieur ALS, j'ai été voir le lien que vous avez donné, il est trés fournie!!!
je me demandais si eventuellement vous aviez le temps et la patience de m'expliquer comment faire pour trouver l'approximation de alpha2 par dichotomie et la valeur de alpha3 par Newton...
parce que meme avec la procedure de mouss33 de dichotomie, il faut avoir une idée de l'expression de alpha 2 avant non?
de plus sur le lien vers lequel vous orienter mouss33,la diversité et la richesse des informations me fait me demander si c'est vraiment si compliqué que ça?!!
ça m'a l'air spectaculaire!  |
|
Revenir en haut de page |
|
 |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 23 Avr 2007 8:04 Sujet du message: |
|
|
Bonjour, vous commencerez par encadrer grossièrement alpha2 par 2 nombres c,d puis vous appliquerez la dichotomie sur l'intervalle [c,d]. |
|
Revenir en haut de page |
|
 |
|