Racines polynôme degrés 7 méthode Newton

dauphinoise - 29 nov. 2012 à 15:30
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 29 nov. 2012 à 21:22
bonjour;
s'il vous plait est ce que l'un de vous pourrez m'aider
j'ai un projet sur VBA , il s’agit de trouver les racines d'un polynôme de degrés 7 avec la méthode de newton, je trouve des codes mais seulement pour un polynôme de degrés 3. est ce que l'un de vous pourrez me donner le code ou même une idée je bloque..et le pire c'est que le temps presse!
merci

16 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2012 à 17:46
bonjour,
C'est un problème d'algèbre avant d'en être un de développement.
Nous n'avons pas à forcément connaître la méthode de Newton, cet aspect étant purement algébrique.
Nous ne traiterons ici que celui du développement.
Montre-nous donc tes opérations successives (sur la base d'expressions algébriques développées) pour y parvenir.
Et dis-nous quelle opération tu ne sais pas écrire en VB.
Là s'arrêtera notre intervention.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Utilisateur anonyme
29 nov. 2012 à 17:48
Bonjour,

Donc, tu veux que quelqu'un fasse ton devoir à ta place.

Commence par là et par là ensuite.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2012 à 18:05
Plus simplement :
Pour connaître les opérateurs mis à ta disposition par vb : ===>> rubrique Operators dans ton aide VB6. Les opérateurs mathématiques y sont recensés dans une sous-rubrique de cette rubrique.
Le reste, c'est la détermination de tes opérations successives par utilisation de ces opérateurs (et çà, c'est de l'algèbre).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
dauphinoise
29 nov. 2012 à 19:11
merci pour votre réponse désolé oui jaurai du vous donner la formule mathématique de la méthode de newton! dsl
donc voila il s'agit de chercher la racine du polynome:
d'abord on donne une valeur approximative qui sera notre racine initiale: moi j'ai pris x0=2
aprés par plusieurs ittérations (pour trouver de plus en plus en plus une meilleure approximation de cette racine vu k la première n'étais donnée qu'au hasard) la formule de newton est la suivante:
x1=x0- (f/f') et ainsi de suite glement de 5 à 6 iterrations suffisent mais biensur ca c pa important!
et dans l'écriture du code on me demande de préciser kil ne faut pa retomber sur la première racine déja trouvée
f: fonction a degrès 7
f': sa dérivée
j'ai essayé de faire du code pour une équation de degrés 3 mais g du mal a l'adapter a ma fonction à moi voila je vous le passe pttr k ca vous aidera merci bcp
je suis dans la merde !!!!merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dauphinoise
29 nov. 2012 à 19:12
xold = 2
iter = 0
Do
iter = iter + 1
f = xold ^ 7 - 10 * xold ^ 6 - 14 * xold ^ 5 + 320 * xold ^ 4 - 491 * xold ^ 3 - 1750 * xold ^ 2 + 4824 * xold - 2880
df = 7 * xold ^ 6 - 60 * xold ^ 5 - 70 * xold ^ 4 + 1280 * xold ^ 3 - 1473 * xold ^ 2 - 3500 * xold + 4824
xnew = xold - f / df
Err = xnew - xold
xold = xnew
Loop While (iter < 1000) And (Abs(Err) > 0.000001)
If n = 1 Then
realCubeRoot = xnew
Else
aa = b / a
bb = c / a
real = -(aa + xnew) / 2
Disc = (-3 * xnew ^ 2 - 2 * aa * xnew + aa ^ 2 - 4 * bb)
If Disc < -0.0000001 Then
realCubeRoot = "NA"
Else
Disc = Abs(Disc)
If n = 2 Then
realCubeRoot = real + Disc ^ (1 / 2) / 2
Else
realCubeRoot = real - Disc ^ (1 / 2) / 2
End If
End If
End If
End Function

' voila g commancé à le modifier ac ma fonction mais comme vous voyez la suite je ne lai pas comprise du coup g pa pu l'adapter
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2012 à 19:27
Bis repetita :
Ce qu'expose ton message de 19:11:03 est la partie de raisonnement algébrique et ne nous regarde pas.
Seules les opérations successives (celles montrées dans ton message suivant) nous regardent
Je n'y vois aucune erreur de syntaxe, sans que cela veuille dire que ce sont bien là les opérations à faire ou non (cela ne relève pas d'un forum de développement, mais d'un forum de maths) pour atteindre ton but.
Mais je crois comprendre qu'il ne s'agit là que des opérations pour une équation de type y = ax^3 + bx² + cx + d.
On attend la même chose (succession d'opérations) pour le degré 7 ...
Et notre examen de ton code ne portera pas sur leur bien-fondé, mais uniquement sur leur écriture (syntaxe correcte ou non)

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
dauphinoise
29 nov. 2012 à 19:33
ok merci beaucoup de m'avoir répondu jesayerai de poser des questions plus précises concernant la méthode mathématique je n'ai aucun souci mais je sais pa l'adapter en VBA ceci est mon probleme mais pttr la question est trop vague vous avez raison!!
dsl
merci
0
dauphinoise
29 nov. 2012 à 19:37
[^^confus2]
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2012 à 20:27
concernant la méthode mathématique je n'ai aucun souci mais je sais pa l'adapter en VBA

C'est parfait (un matheux, donc ? ==>> OK ===> je m'adresse alors à un matheux) !
Oublions alors vba ===>>>
Rien ne devrait donc t'empêcher d'écrire, en langage naturel, la succession des opérations à effectuer.
Montre-les, en n'utilisant, pour chaque opération, que les opérateurs et fonctions classiques, à savoir
=, <, >, <=, >= , #
+, -, * (pour multiplier), / (pour diviser), Mod (pour calculer le modulo)
Abs (pour valeur absolue)
^n pour exprimer la puissance n, ^1/n (pour exprimer la racine nième
Atn (pour ArcTangent), Sin (pour Sinus), Cos (pour cosinus), Log (pour logarithme), Exp (pour exponentielle)

Aucun matheux ne saurait exprimer, à l'aide de ces seuls opérateurs, les opérations successives qu'il souhaite effectuer (pour autant qu'il les cerne, bien évidemment)
Alors vas-y ===>> exprime les donc

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
dauphinoise
29 nov. 2012 à 20:34
lol ok mais j'ai dit que je veux écrire dans VBA:
que mon polynome recevera la racine de 2 au départ puis
on cherchera la vraie racine avec cette formule de newton:
x1= x0- (F/F')
X2= X1- (F/F')
etc....
c'est la seule chose que je veux demander à VBA de faire!
en allant chercher F et F' dans deux tables excel différentes (aprés avoir codé aussi la dérivée via VBA)
refaire la boucle le prof a dit k c t ac la boucle while je crois
franchement je me perd!
c'est comme ça que je peux m'expimer je sais pas le faire autrement dsl
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2012 à 20:41
J'attends avec assez d'impatience cette succession d'opérations *
Et tiens, je vais même te faciliter le "langage naturel"
Valeur-absolul de n au lieu de Abs(n)
x Puissance-n au lieu de x^n
x Racine-4ème (exemple) au lieu de x^1/4
Arctangent au lieu de Atn, Sinus (au lieu de Sin), Cosinus (au lieu de Cos), Logarithme (au lieu de log, mais en précisant si ou non népérien), Exponentielle (au lieu de Exp)
Voilà voilà == >> le matheux que tu es devrait maintenant être parfaitement en mesure de s'exprimer selon ces conventions-là, hein ...
On te lira avec intérêt.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
dauphinoise
29 nov. 2012 à 20:43
bon jai demandé de l'aide ?? mais je crois k tu te fou de moi?
je suis ni matheux ni informaticien!!
dit moi est ce que tu compte m'aider ou non?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2012 à 20:45
refaire la boucle le prof a dit k c t ac la boucle while je crois
franchement je me perd!
c'est comme ça que je peux m'expimer je sais pas le faire autrement dsl

et moi, je suis encore plus désolé de constater cette limite d'expression (avec utilisation du style SMS, en plus) chez un matheux. Je vais te confesser que tu es le tout premier du genre parmi mes copains taupins !
Et j'apprends que c'est en plus un devoir !!! ===>> mérite la note que tu mérites.
Bonne chance.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2012 à 20:47
je suis ni matheux ni informaticien!!

et tu es alors là pourquoi et en qualité de quoi ?
Et ton "prof" ?
dit moi est ce que tu compte m'aider ou non?

J'arrête pile là
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
dauphinoise
29 nov. 2012 à 20:51
oui peut être que je suis nulle je me le disais bien!! mais j'apprend ce que tu me montrera je compte pa le copier mot par mot!!! je veux avoir une idée c tout
merci en tt k
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2012 à 21:22
Un dernier mot, dauphinoise, car il me parait nécessaire :
Oui peut être que je suis nulle je me le disais bien

Nul n'est "nul" en tout. Chacun a son savoir. Je suis par exemple nul en astrologie ... et ne m'en mêle donc pas. Encore moins dans le but d'informatiser ce que je ne maîtrise pas dans ce domaine.
Maintenant : ce n'est pas à travers l'informatique que l'on acquiert un savoir mathématique (liminaire de sa traduction informatique).
Le développement n'est pas du tout le raisonnement, mais l'APPLICATION d'un raisonnement maîtrisé).
Il te faut donc commencer par le commencement (en l'occurrence : les maths et l'exposé des opérations successives (ce sera le premier et indispensable pas à faire si tu veux informatiser cette "petite chose").
Bonne nuit.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Rejoignez-nous