faire une espece de solveur

  • Initiateur de la discussion mattttttttttrix
  • Date de début
M

mattttttttttrix

Guest
bonjour a tous
j'aimerais faire un solveur ou trouver une methode qui me permette de resoudre une equation du type
f(x)=0 avec biensur l'inconnue etant x
j'ai essayé avec le solveur excel mais ca marche pas ( apparemant trop de parametre a prendre en compte dans la formule ) et meme en bidouillant ca marche toujours pas donc j'ai comme un PROBLEME :eek: :eek:

j'ai penser a ecrire ma fonction dans un module afin d'y faire appel pour la resoudre mais je sais pas comment faire......
on ma parler de la methode de NEWTON mais onetement j'ai pas tout compris et je vois pas du tout comment faire
donc si quelqu'un pouvait m'aider se serai tout bonnement GENIAL

ps: j'ai quelque imperatif quand meme ; il faut que j'utilise uniquement le VBA car le solveur sera activé par un bouton.......et si possible pas de macro qui vienne du formulaire

MERCI d'avance au genie qui trouveront
 

Davidc57

XLDnaute Occasionnel
Salut Maaaatttttttttttttttttttrrrrrrrrriiiiixxxxx,

Sorry, je viens d'éternuer :)


Tu ne définis pas la fonction f(x), alors c'est pas facile de t'aider.

Si tu disais f(x) = ax + bx2 + c, on pourrait peut-être faire quelques choses car dans ce cas précis, il y a une méthode scientifique, structuré et donc programmable pour obtenir les résultats. Il faudrait que je retourne dans mes cours de seconde ou première .... ha ben non j'suis bête y'a le net !! Enfin bon, là j'ai pas trop envie en plus je suis certain que si tu ne l'as pas précisé, la fonction, c'est que tu veux que le programme fonctionne quelque soit la fonction, non ?

Si c'est ca, alors bon courage !

Programmer cela en VBA, ca va être très compliqué ! Mais avec Excel, je suis parfois très surpris, qui sait, quelqu'un a peut-être une idée ?
 
M

mattttttttttrix

Guest
dsl jai planter de post
[file name=equationmulu.zip size=4370]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/equationmulu.zip[/file]
 

Pièces jointes

  • equationmulu.zip
    4.3 KB · Affichages: 35

Davidc57

XLDnaute Occasionnel
Re bonjour,


J'ai simplifié comme ceci ta formule. C'est une equation de ce type que tu dois résoudre. Elle sert à quoi ta formule ?


0 = M * (1 – BX) + A * (1-2X) - C(1-BX) - 3A(1-2X)(1 – BX) + N


A est une constante, la valeur de la première parenthèse.
B est une constante, la valeur de (34 * M) / 9 * .. * .. )
C est une constante, la valeur de 0.15* (../..)

M = 3A + 2C
N = - A - C
-----------------------

Bon on peut certainement l'améliorer d'avantage, mais c'est un bon début. Toutes constantes A, B, C, M et N sont définies ou calculées dans le programme.

Deux contraintes tout de même :

1 - BX > 0
1 - 2X > 0


D'où X < 1/2 et X 0
F(-1) < 0


Donc on passe du positif au négatif, une valeur de X entre -1 et 0 nous donne F(X) = 0.


En réduisant l'intervalle en procédant à plusieurs tests successifs, on obtiendra une valeur très proche de la réalité.

Voilà ce que je peux dire.
 

ODVJ

XLDnaute Impliqué
Bonsoir,

Si 0 appartient au domaine de définition de ton équatiomulu, c'est une solution triviale.

sinon, en faisant un changement de variable y²=1-Bx avec Y>=0 tu obtiendras une équation du 3ème degré en Y et là tu entres en pays de connaissance(méthode de Cardan/Tartaglia).

l'écriture est fastidieuse mais c'est résolvable directement.

bon courage quand même!!
 
M

mattttttttttrix

Guest
me revoila
je ne suis pas arrivé a refaire ton developpement Davidc57.....mais j'ai essayer effectivement de remplacer les parenthese et ca simplifie BP...
je joint mon resultat pour avoir de l'aide pcq je seche un peu
merci de vos reponse [file name=equationmulu_20060506093457.zip size=10602]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/equationmulu_20060506093457.zip[/file]
 

Pièces jointes

  • equationmulu_20060506093457.zip
    10.4 KB · Affichages: 27
M

mattttttttttrix

Guest
j'ai peut-ètre une solution au probleme mais j'ai besoin de vote aide

l'equation est juste au dessus!

mettons une equation simple du genre

x=1/racine(x)

on est tous d'accord qu'il n'existe qu'une seule solution!!! x=1

bas c'est pareil pour mon equation, il y a une seule solution
donc l'idée est de faire un truc du genre

X1=1/racine( X2)
on donne une valeur initiale a X2 et on obtient X1...ok???
puis on remet la valeur de X1 dans X2 et ainsi de suite jusqu'a avoir un equilibrage ou plutot un X1/X2<0.1%

je joins un exemple sous excel pour montrer que ca marche....mais en VBA , je sais pas du tout comment faire donc si quelqu'un a une idée ou pourrais juste me donner la solution pour X1=1/racine( X2) en VBA , j'espere pouvoir me debrouiller tout seul après

merci [file name=sduhf.zip size=5770]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/sduhf.zip[/file]
 

Pièces jointes

  • sduhf.zip
    5.6 KB · Affichages: 45

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2