Solveur

tamatave33

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Pour mon travail je dois trouver la solution d'une équation de la forme xLN(x)+ax = b.
a et b sont connus.
Je dois faire varier a et b et trouver x à chaque fois.
Voici un exemple :
42.9 x LN(x) + 111.277 x + 0.572 = 0
La solution étant x = ~ 0.06
On m'a dit que je peux résoudre cette équation directement avec Excel en utilisant Solveur avec une macro.
Quelqu'un peut-il m'en dire plus, car j'avoue que cela ne me parle pas beaucoup.
J'utilise Excel 2003 et j'ai déjà installé Solveur, mais je ne sais pas comment m'en servir.
Je vous remercie pour votre aide.
 

ROGER2327

XLDnaute Barbatruc
Re : Solveur

Re...


Re,

Avec ces valeurs la formule en C14 renvoie -5,23771177540766E-08, négatif (et pas si petit que ça).

Donc (mathématiquement) 2 racines distinctes.



Ben non...

A+
Ben non, effectivement : Je me suis encore planté dans le copié-collé des paramètres.
Je suis de plus en plus confus !

Avec les paramètres que j'ai proposé, je trouve effectivement deux solutions :
x[SUB]1[/SUB]=25,4652750210573 et x[SUB]2[/SUB]=25,4657737459533.
En portant ces valeurs dans l'expression a.x.ln(x) + b.x + c, j'obtiens exactement 0.

Avec a=42,9, b=-181,781266203033, c=1092,47099612961, vous obtenez -3,63798E-12 (presque 0) en C14 et deux solutions :
x[SUB]1[/SUB]=25,4644832010409 et x[SUB]2[/SUB]=25,4662031813727
qui, portées dans a.x.ln(x) + b.x + c, donnent 9,13137E-07 et 3,88103E-07.
Je trouve x=25,4655243853057 qui donne un résidu de -4,3201E-12.
(Une meilleure solution est 25,4655243853058 avec un résidu de -3,41061E-12. Mais je ne la trouve pas avec le code que j'ai proposé.)

J'espère n'avoir plus raconté de conneries cette fois-ci. Mais, au train où vont les choses, je ne sais pas.

Pour ce qui est de la vitesse d'exécution, je dois avoir un problème local, car malgré plusieurs redémarrages, ça rame.​


Bonne nuit.


ℝOGER2327
#7692


Mardi 17 As 142 (Saint Pangloss, humoriste passif - fête Suprême Quarte)
29 Brumaire An CCXXIII, 0,0222h - cormier
2014-W47-3T00:03:11Z
 

ROGER2327

XLDnaute Barbatruc
Re : Solveur

Suite...


Décidément, ce n'est pas mon jour. Le ralentissement constaté est dû à une erreur de débutant : suite à une expérience, un classeur mal fichu (et planqué) s'ouvrait en même temps qu'Excel, à l'insu de mon plein gré comme disait l'autre. Ce méchant classeur viré du circuit, tout est rentré dans l'ordre.


Bonne nuit.


ℝOGER2327
#7693


Mardi 17 As 142 (Saint Pangloss, humoriste passif - fête Suprême Quarte)
29 Brumaire An CCXXIII, 0,6202h - cormier
2014-W47-3T01:29:18Z
 

job75

XLDnaute Barbatruc
Re : Solveur

Bonjour le fil, le forum,

@ Roger2327 pour trouver 2 solutions à peu près identiques quand il y a une racine double il faut :

NB maximal d'itérations => 10000 - Ecart maximal => 0,000000000000001 (1E-15)

Edit : en fait on peut carrément mettre 0 pour l'écart maximal.

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Solveur

Re,

@ tamatave33 pour le cas où il n'y a pas de solution il vaut mieux utiliser :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C6,C10,C14]) Is Nothing Then
  Application.ScreenUpdating = False 'pour accélérer
  On Error Resume Next
  [C27] = 10 ^ -99 'initialisation
  [C25].GoalSeek Goal:=0, ChangingCell:=[C27] '1ère solution
  If [C27] < [c10] / 1000 Then [C27] = "éliminée"
  [C28] = 10 ^ 99 'initialisation
  [C26].GoalSeek Goal:=0, ChangingCell:=[C28] '2ème solution
  If [C28] < [c10] / 1000 Then [C28] = "éliminée"
  If [C24] > [C22] * Exp(-1 - [C23] / [C22]) Then [C27:C28] = "#N/A" 'pas de solution
End If
End Sub
A+
 

ROGER2327

XLDnaute Barbatruc
Re : Solveur

Bonsoir à tous.


Le problème de tamatave33 semble résolu.
Mais, suite à un échange de messages avec job75 à propos des méthodes de résolution, je dépose mon classeur d'essais accompagné d'un résumé du raisonnement qui m'a fait préférer la méthode dichotomique à un procédé fondé sur la méthode de la tangente.
Bien entendu, je ne prétends pas que ce soit la meilleure façon d'aborder la question. Les deux méthodes ont des avantages et des inconvénients, mais donnent le plus souvent des résultats comparables. Le seul intérêt de ce message, à supposer qu'il en ait, est de montrer qu'on peut obtenir certains résultats par des méthodes radicalement différentes.​


Bonne soirée.


ℝOGER2327
#7703


Vendredi 6 Sable 142 (Saint Navet et Sainte Perruque, humanistes - fête Suprême Quarte)
16 Frimaire An CCXXIII, 9,0290h - ajonc
2014-W49-6T21:40:10Z
 

Pièces jointes

  • dichotomie5.xlsm
    86.7 KB · Affichages: 27
  • Dichotomie_écran.pdf
    95 KB · Affichages: 69
  • Dichotomie_papier.pdf
    92.7 KB · Affichages: 38

Discussions similaires

Statistiques des forums

Discussions
312 356
Messages
2 087 567
Membres
103 594
dernier inscrit
edm