Résolution équation nr 3
qataror
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
qataror Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
qataror Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Toujours sur le même fichier, j'ai une troisième équation à une inconnue à développer.
Après G560=G559 et J560=J559
Cette fois-ci, c'est calculer la valeur en B560 que fera que la valeur en K560 soit égale à K559.
Raymond a trouvé cette solution
QUOTE..................................................................................................
Je ne sais pas si c'est toujours d'actualité ou si tu t'en es déjà sorti, mais pour le fun j'ai recommencé mes calculs et fait une vérification chiffrée :
B560=(K559 - G560 - 0,75*J559 + 25)*H560/6,25 - 3*D559
Avec K559=104 ; G560=25 ; J559=22 ; H560=4 et D559=18 par exemple on trouve 2 comme solution.
https://www.cjoint.com/c/EEuhiP7feyC
Cordialement (je me suis bien amusé !).
UNQUOTE...................................................................................................
Malheureusement, lorsque je rentre la formule dans mon fichier telle quelle, je trouve des résultats différents.
Voici le lien pour le fichier complet ( résultats précédents inclus )
https://www.cjoint.com/c/EExrsPm6XRf
Merci en core pour votre aide précieuse.
Cordialement
Toujours sur le même fichier, j'ai une troisième équation à une inconnue à développer.
Après G560=G559 et J560=J559
Cette fois-ci, c'est calculer la valeur en B560 que fera que la valeur en K560 soit égale à K559.
Raymond a trouvé cette solution
QUOTE..................................................................................................
Je ne sais pas si c'est toujours d'actualité ou si tu t'en es déjà sorti, mais pour le fun j'ai recommencé mes calculs et fait une vérification chiffrée :
B560=(K559 - G560 - 0,75*J559 + 25)*H560/6,25 - 3*D559
Avec K559=104 ; G560=25 ; J559=22 ; H560=4 et D559=18 par exemple on trouve 2 comme solution.
https://www.cjoint.com/c/EEuhiP7feyC
Cordialement (je me suis bien amusé !).
UNQUOTE...................................................................................................
Malheureusement, lorsque je rentre la formule dans mon fichier telle quelle, je trouve des résultats différents.
Voici le lien pour le fichier complet ( résultats précédents inclus )
https://www.cjoint.com/c/EExrsPm6XRf
Merci en core pour votre aide précieuse.
Cordialement
A voir également:
- Résolution équation nr 3
- Ai suite 3 - Télécharger - Optimisation
- Picasa 3 - Télécharger - Albums photo
- Photorecit 3 - Télécharger - Visionnage & Diaporama
- Réduire résolution image - Guide
- Imagen 3 - Accueil - Applications & Logiciels
7 réponses
Cette fois-ci je ne pourrai pas t'aider, car J560 est fonction de J559, qui est fonction de J558, elle-même fonction de J557 et ceci 540 fois !
Pour corser le tout, I560 est fonction de D560 et de H560, qui présentent chacune la même problématique ...
Je crois que ta procédure par tâtonnements est la plus facile !
Pour corser le tout, I560 est fonction de D560 et de H560, qui présentent chacune la même problématique ...
Je crois que ta procédure par tâtonnements est la plus facile !
Bonjour Raymond,
Désolé pour m'être mal exprimé au départ.
Effectivement, ce sont des équations à une inconnue suite à une fichier
Excel. Comme les solutions proposées par ccm81 et JvDo, elles intègrent
cette problématique. Cette solution existe car le solveur les résout.
Amicalement
Désolé pour m'être mal exprimé au départ.
Effectivement, ce sont des équations à une inconnue suite à une fichier
Excel. Comme les solutions proposées par ccm81 et JvDo, elles intègrent
cette problématique. Cette solution existe car le solveur les résout.
Amicalement
Bonjour,
En fait, tu as 2 solutions pour B560 : -306.563405500034 et 16.0232590592985.
Normal, vu que tu aboutis à une équation du second degré (c'est dû aux dénominateurs en F560 et H560).
voilà ta formule, un peu longue quand même.
J'ai abandonné la simplification, c'est trop prise de tête.
cordialement
En fait, tu as 2 solutions pour B560 : -306.563405500034 et 16.0232590592985.
Normal, vu que tu aboutis à une équation du second degré (c'est dû aux dénominateurs en F560 et H560).
voilà ta formule, un peu longue quand même.
J'ai abandonné la simplification, c'est trop prise de tête.
=4*(-((5625-3*(K559-J559*0.75))*H559+(2937.5-2.5*(K559-J559*0.75))*D559-(25+K559-J559*0.75)*SOMME(D541:D558))+RACINE((((5625-3*(K559-J559*0.75))*H559+(2937.5-2.5*(K559-J559*0.75))*D559-(25+K559-J559*0.75)*SOMME(D541:D558)))^2-4*(2100-(K559+125-J559*0.75))*((1500*D559)*(3*H559+0.75*D559)-(K559+125-J559*0.75)*(SOMME(D541:D558)+1.75*D559)*(3*H559+0.75*D559)+(75*D559)*(SOMME(D541:D558)+1.75*D559))))/(2*(1975-K559+J559*0.75))
cordialement
en détail :
Point de départ :
a_ correspond à : (1500*D559)
b_ correspond à : (SOMME(D541:D558)+1.75*D559)
c_ correspond à : (75*D559)
d_ correspond à : (3*H559+0.75*D559)
x_ correspond à : (.25*B560)
e_ correspond à : (K559+125-J559*.75)
l'équation devient :
aa correspond à : (2100-e_)
bb correspond à : (2000*d_+a_+c_+100*b_-e_*(b_+d_))
cc correspond à : (a_*d_-e_*b_*d_+c_*b_)
On obtient l'équation du second degré :
Dont les solutions sont :
On remonte les simplifications à l'envers et on obtient :
même chose pour x2 avec un moins devant racine.
B560 s'obtient en multipliant x1 et x2 par 4 et après quelques simplifications, on obtient la formule du post précédent.
cdlt
Point de départ :
K560=K559On remplace K560 :
G560+J560=K559On remplace G560 :
D560/F560*100-100+J559*.75+I560*0.25=K559On remplace I560 :
D560/F560*100-100+J559*.75+(100*D560/H560-100)*0.25=K559On remplace F560 :
D560/(SOMME(D541:D559)/20+D560/20)*100-100+J559*.75+(100*D560/H560-100)*0.25=K559On remplace H560 :
D560/(SOMME(D541:D559)/20+D560/20)*100-100+J559*.75+(100*D560/(.75*H559+.25*D560)-100)*0.25=K559On remplace D560 :
(.75*D559+.25*B560)/(SOMME(D541:D559)/20+(.75*D559+.25*B560)/20)*100-100+J559*.75+(100*(.75*D559+.25*B560)/(.75*H559+.25*(.75*D559+.25*B560))-100)*0.25=K559et on réorganise :
(1500*D559+500*B560)/(SOMME(D541:D559)+.75*D559+.25*B560)-100+J559*.75+(100*(.75*D559+.25*B560)/(.75*H559+.25*(.75*D559+.25*B560))-100)*0.25=K559On simplifie l'écriture :
(1500*D559+500*B560)/(SOMME(D541:D558)+1.75*D559+.25*B560)-100+J559*.75+(100*(.75*D559+.25*B560)/(.75*H559+.25*(.75*D559+.25*B560))-100)*0.25=K559
(1500*D559+500*B560)/(SOMME(D541:D558)+1.75*D559+.25*B560)+((75*D559+25*B560)/(.75*H559+.25*(.75*D559+.25*B560))-100)*0.25=K559+100-J559*.75
(1500*D559+2000*.25*B560)/(SOMME(D541:D558)+1.75*D559+0.25*B560)+(75*D559+100*.25*B560)/(3*H559+0.75*D559+0.25*B560)=K559+125-J559*.75
a_ correspond à : (1500*D559)
b_ correspond à : (SOMME(D541:D558)+1.75*D559)
c_ correspond à : (75*D559)
d_ correspond à : (3*H559+0.75*D559)
x_ correspond à : (.25*B560)
e_ correspond à : (K559+125-J559*.75)
l'équation devient :
(a_+2000*x_)/(b_+x_)+(c_+100*x_)/(d_+x_)=e_On simplifie à nouveau l'écriture :
(a_+2000*x_)*(d_+x_)+(c_+100*x_)*(b_+x_)=e_*(d_+x_)*(b_+x_)
a_*d_+x_*(2000*d_+a_)+2000*x_^2+c_*b_+x_*(c_+100*b_)+10*x_^2=e_*b_*d_+e_*x_*(b_+d_)+e_*x_^2
a_*d_-e_*b_*d_+c_*b_+x_*(2000*d_+a_+c_+100*b_-e_*(b_+d_))+(2100-e_)*x_^2=0
aa correspond à : (2100-e_)
bb correspond à : (2000*d_+a_+c_+100*b_-e_*(b_+d_))
cc correspond à : (a_*d_-e_*b_*d_+c_*b_)
On obtient l'équation du second degré :
aa*x_^2+bb*x_+cc=0
Dont les solutions sont :
x1 = (-(2000*d_+a_+c_+100*b_-e_*(b_+d_))+racine((2000*d_+a_+c_+100*b_-e_*(b_+d_))^2-4*(2100-e_)*(a_*d_-e_*b_*d_+c_*b_)))/(2*(2100-e_))
x2 = (-(2000*d_+a_+c_+100*b_-e_*(b_+d_))-racine((2000*d_+a_+c_+100*b_-e_*(b_+d_))^2-4*(2100-e_)*(a_*d_-e_*b_*d_+c_*b_)))/(2*(2100-e_))
On remonte les simplifications à l'envers et on obtient :
x1=(-(2000*(3*H559+0.75*D559)+(1500*D559)+(75*D559)+100*(SOMME(D541:D558)+1.75*D559)-(K559+125-J559*.75)*((SOMME(D541:D558)+1.75*D559)+(3*H559+0.75*D559)))+racine((2000*(3*H559+0.75*D559)+(1500*D559)+(75*D559)+100*(SOMME(D541:D558)+1.75*D559)-(K559+125-J559*.75)*((SOMME(D541:D558)+1.75*D559)+(3*H559+0.75*D559)))^2-4*(2100-(K559+125-J559*.75))*((1500*D559)*(3*H559+0.75*D559)-(K559+125-J559*.75)*(SOMME(D541:D558)+1.75*D559)*(3*H559+0.75*D559)+(75*D559)*(SOMME(D541:D558)+1.75*D559))))/(2*(2100-(K559+125-J559*.75)))
même chose pour x2 avec un moins devant racine.
B560 s'obtient en multipliant x1 et x2 par 4 et après quelques simplifications, on obtient la formule du post précédent.
cdlt
JvDo
Je vois que je ne t'avais pas remercié pour cette performance.
Cela doit être pour çà que j'ai un problème.
En effet, lorsque je colle ta formule (JvDo 24 mai 2015 à 16:02) dans mon fichier test MT3 , je trouve le résultat positif et correct.
Par contre, lorsque je colle la même formule dans mon fichier réel, je trouve un résultat négatif et qui ne correspond pas à une valeur boursière.
Y a-t-il une solution ?
Merci
Cdlt
Je vois que je ne t'avais pas remercié pour cette performance.
Cela doit être pour çà que j'ai un problème.
En effet, lorsque je colle ta formule (JvDo 24 mai 2015 à 16:02) dans mon fichier test MT3 , je trouve le résultat positif et correct.
Par contre, lorsque je colle la même formule dans mon fichier réel, je trouve un résultat négatif et qui ne correspond pas à une valeur boursière.
Y a-t-il une solution ?
Merci
Cdlt
Bonjour,
Comme tu ne redonnes pas toutes les explications pas facile pour ceux qui n'ont pas l'historique.
Je suis peut-être à coté de la plaque...
Donc une autre approche. Vu que ton problème est linéaire on peut approcher la solution rapidement en vba (un peu comme le solveur) qq soient le nombre d'antécédents et sans remonter la chaine.
Pour l'instant un simple double-clic dans la colonne B (B560 par exemple) t'affiche l'évaluation et la met en N.
C'est juste pour que tu vois le principe et que tu testes, après on peut envisager un autre fonctionnement. Calcul d'une plage sur ordre (j'ai l'impression que le calcul dépend des calculs précédents), ou maj sur une saisie ou autre chose.
https://www.cjoint.com/c/EEysxCnk04L
eric
Comme tu ne redonnes pas toutes les explications pas facile pour ceux qui n'ont pas l'historique.
Je suis peut-être à coté de la plaque...
Donc une autre approche. Vu que ton problème est linéaire on peut approcher la solution rapidement en vba (un peu comme le solveur) qq soient le nombre d'antécédents et sans remonter la chaine.
Pour l'instant un simple double-clic dans la colonne B (B560 par exemple) t'affiche l'évaluation et la met en N.
C'est juste pour que tu vois le principe et que tu testes, après on peut envisager un autre fonctionnement. Calcul d'une plage sur ordre (j'ai l'impression que le calcul dépend des calculs précédents), ou maj sur une saisie ou autre chose.
https://www.cjoint.com/c/EEysxCnk04L
eric
Bonjour Eric,
Merci pour t'intéresser à la résolution d'équation pour mon fichier excel.
Dans l'onglet donCAC, si tu remontes la colonne M jusqu'à la ligne 1, tu auras
quelques explications concernant la fonction des onglets.
Je vais regarder attentivement le fichier que tu as joint à ton message.
Merci et bonne soirée.
Cordialement
Merci pour t'intéresser à la résolution d'équation pour mon fichier excel.
Dans l'onglet donCAC, si tu remontes la colonne M jusqu'à la ligne 1, tu auras
quelques explications concernant la fonction des onglets.
Je vais regarder attentivement le fichier que tu as joint à ton message.
Merci et bonne soirée.
Cordialement
Bonsoir eriiic,
Je crois que tu t'es croisé les doigts dans tes offsets et ton delta.
Les offsets ne pointent pas sur les bonnes cellules, ton delta est du mauvais signe et tu retournes la cellule de la colonne M alors que tu modifies celle de la colonne N.
J'ai modifié les lignes en gras :
Sinon, dans sa version 3 (ce post donc), le problème n'est plus linéaire mais quadratique tout en restant bien sur à une inconnue : B560.
Il est possible d'expliciter B560 par une formule directe.
cordialement
Je crois que tu t'es croisé les doigts dans tes offsets et ton delta.
Les offsets ne pointent pas sur les bonnes cellules, ton delta est du mauvais signe et tu retournes la cellule de la colonne M alors que tu modifies celle de la colonne N.
J'ai modifié les lignes en gras :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim CellSav As Variant
Dim delta As Double, i As Long
If Target.Column <> 2 Then Exit Sub
Cancel = True
CellSav = Target.Formula
'delta = Target.Offset(, 8) - Target.Offset(, 7)
delta = -Target.Offset(, 9) + Target.Offset(-1, 9)
Do While (Abs(delta) > 0.001 And i < 1000)
Target = Target + delta
'delta = Target.Offset(, 8) - Target.Offset(, 7)
delta = -Target.Offset(, 9) + Target.Offset(-1, 9)
i = i + 1
Loop
Target.Offset(, 12) = Target
Target.Formula = CellSav
MsgBox Target.Offset(, 12)
End Sub
Sinon, dans sa version 3 (ce post donc), le problème n'est plus linéaire mais quadratique tout en restant bien sur à une inconnue : B560.
Il est possible d'expliciter B560 par une formule directe.
cordialement
Ah, possible que je n'ai pas lu assez attentivement et comme j'ai raté le départ... :-)
Je rendais égales I et J ce qui avait l'air de correspondre à ce qui est demandé. Je m'appuyais peut-être sur des cellules temporaires de contrôle.
Je te fais confiance, tu as l'air plus imprégné du fichier que moi :-)
Pour la formule je vois bien que je retourne la même chose que toi. Disons que ça permet d'économiser du papier pour ressortir l'équation;-)
Par linéaire je voulais dire continue et sans points d'inflexion. Ca a l'air d'aller.
eric
Je rendais égales I et J ce qui avait l'air de correspondre à ce qui est demandé. Je m'appuyais peut-être sur des cellules temporaires de contrôle.
Je te fais confiance, tu as l'air plus imprégné du fichier que moi :-)
Pour la formule je vois bien que je retourne la même chose que toi. Disons que ça permet d'économiser du papier pour ressortir l'équation;-)
Par linéaire je voulais dire continue et sans points d'inflexion. Ca a l'air d'aller.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Il me reste une équation à résoudre :
Calculer la valeur en B560 qui fera que la valeur en I560=0
Pour exemple, I560 est égale à 0 avec B560 = 16,84 ( solveur )
Merci par avance pour la résolution de cette dernière équation
Tres cordialement
Il me reste une équation à résoudre :
Calculer la valeur en B560 qui fera que la valeur en I560=0
Pour exemple, I560 est égale à 0 avec B560 = 16,84 ( solveur )
Merci par avance pour la résolution de cette dernière équation
Tres cordialement
En modifiant un peu mon code si ça t'intéresse :
eric
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim CellSav As Variant
Dim delta As Double, i As Long
If Target.Column <> 2 Then Exit Sub
Cancel = True
CellSav = Target.Formula
delta = Target.Offset(, 7)
Do While (Abs(delta) > 0.001 And i < 1000)
Target = Target - delta
delta = Target.Offset(, 7)
i = i + 1
Loop
Target.Offset(, 12) = Target
Target.Formula = CellSav
MsgBox Target.Offset(, 12)
End Sub
eric
Bonjour Eric,
Merci Eric pour la vba et c'est très bluffant.
Seulement l'onglet donCAC est, pour réduire le nombre de fenêtre, caché.
Je rentre les valeurs ( indices ou valeurs ) dans la base et mes résultats ( copier coller) sont dans l'onglet Bilan Simu ( je fais un copier coller des résultats les plus intéréssant de l'onglet donCAC vers Bilan Simu )
Très cordialement
Merci Eric pour la vba et c'est très bluffant.
Seulement l'onglet donCAC est, pour réduire le nombre de fenêtre, caché.
Je rentre les valeurs ( indices ou valeurs ) dans la base et mes résultats ( copier coller) sont dans l'onglet Bilan Simu ( je fais un copier coller des résultats les plus intéréssant de l'onglet donCAC vers Bilan Simu )
Très cordialement
Salut qataror.
Contrairement à ce que tu penses, il ne s'agit pas d'équations à une inconnue, mais de calculs itératifs.
Et lorsque tu écris "Cette solution existe car le solveur les résout", tu ne fais en réalité que confirmer mes dires, puisque le solveur fonctionne par calculs successifs, donc par approximations de plus en plus fines, c'est-à-dire par tatonnements ; il ne résout pas d'équation.
Contrairement à ce que tu penses, il ne s'agit pas d'équations à une inconnue, mais de calculs itératifs.
Et lorsque tu écris "Cette solution existe car le solveur les résout", tu ne fais en réalité que confirmer mes dires, puisque le solveur fonctionne par calculs successifs, donc par approximations de plus en plus fines, c'est-à-dire par tatonnements ; il ne résout pas d'équation.
Bonsoir Raymond PENTIER,
Contrairement à ce que tu penses, il s'agit d'une équation à une inconnue.
L'équation de la première partie de ce post fait intervenir une inconnue : B560, 22 données : J559, K559, H559 et D541 à D559 et elle est quadratique.
La dernière équation de ce post est beaucoup plus simple, elle ne fait intervenir que 2 données : H559 et D559, toujours la même inconnue bien sûr et elle est linéaire.
Une précision : ce n'est pas parce que le solver trouve une solution à un problème que l'on peut affirmer quoi que ce soit sur l'existence ou l'inexistence d'une équation explicitant l'inconnue à trouver.
Cordialement
Contrairement à ce que tu penses, il s'agit d'une équation à une inconnue.
L'équation de la première partie de ce post fait intervenir une inconnue : B560, 22 données : J559, K559, H559 et D541 à D559 et elle est quadratique.
La dernière équation de ce post est beaucoup plus simple, elle ne fait intervenir que 2 données : H559 et D559, toujours la même inconnue bien sûr et elle est linéaire.
Une précision : ce n'est pas parce que le solver trouve une solution à un problème que l'on peut affirmer quoi que ce soit sur l'existence ou l'inexistence d'une équation explicitant l'inconnue à trouver.
Cordialement
Bonjour,
Suite à mon message nr 21, je me suis aperçu d'une erreur dans ma demande de résolution d'équation égale à 0 .
Je vous joins le lien du fichier test
https://www.cjoint.com/c/EEBkhSHj60U
L'équation est Y560 = 0
Merci
Très cordialement
Suite à mon message nr 21, je me suis aperçu d'une erreur dans ma demande de résolution d'équation égale à 0 .
Je vous joins le lien du fichier test
https://www.cjoint.com/c/EEBkhSHj60U
L'équation est Y560 = 0
Merci
Très cordialement
Bonjour JvDo,
Merci pour la résolution de l'équation.
Finalement, le fichier entier passe sur Cjoint. Donc voici le lien
https://www.cjoint.com/?3EBoW5a2IxE
cela concerne le CAC40 et le TCT ( cad qu'il faut le renseigner toutes les heures.
Dites moi si vous arrivez à l'ouvrir correctement et le prochain message sera: comment l'utiliser ?
Cordialement
Merci pour la résolution de l'équation.
Finalement, le fichier entier passe sur Cjoint. Donc voici le lien
https://www.cjoint.com/?3EBoW5a2IxE
cela concerne le CAC40 et le TCT ( cad qu'il faut le renseigner toutes les heures.
Dites moi si vous arrivez à l'ouvrir correctement et le prochain message sera: comment l'utiliser ?
Cordialement
Tu avais omis de préciser, dans tes premiers messages, que par exemple G560 et H560 étaient fonction de D560 ! Cette condition n'a donc pas été prise en compte dans mes développements ... Ma formule ne correspond plus à rien du tout !