XL 2019 VBA itérations

Nicolas17

XLDnaute Nouveau
Bonjour,

Encore une fois, j'aurai besoin d'aide pour un calcul (ci-joint). :)

Quand je lance le code, cela mouline indéfiniment. :(

Vs = 5, g=9.81, h = 4.5, Ac = 202.5, alphas = 1.26, Bb = 36 et alpha = 26, Am = 34.2.

Merci d'avance !

Nicolas
 

Pièces jointes

  • equation.JPG
    equation.JPG
    37 KB · Affichages: 31
  • VBA delta h.txt
    1.1 KB · Affichages: 7
Solution
dans Variation je pense qu'il y a une erreur de parenthèse.
Mais même rectifié, pour les inputs du post #1, je trouve un Deltah de -0.4m.
Cependant (si j'ai bien compris) DeltaH est le niveau par rapport à l'origine. Donc s'agissant d'un abaissement il serait normal que DeltaH soit négatif. Non ?

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Nicolas,
Pas encore compris pourquoi, mais peut être que cela vous aidera à avancer.
Nous serons deux.
While Abs(Y - w) > 0.01 est impossible car Abs(Y - w) =57.6687486 et ne bouge pas.
Rajouter deux lignes de code pour suivre la convergence dans la feuille :
VB:
    While Abs(Y - w) > 0.01
        Range("A1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        [A1] = Abs(Y - w)            ' rajoute la convergence en colonne A pour essayer de comprendre'
        w = barrage(Bb, h, Am)
        Y = variation(Ac, AlphaS, Vs) ', Bb, h, Am)
    Wend
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je ne comprend pas pourquoi vous faites un test de convergence car :
1- w = barrage(Bb, h, Am) est constant =57.5919
2-Y = variation(Ac, AlphaS, Vs) est constant =-0.07676

D'autre part vous donnez Alpha=26, hors un angle s'exprime en radians donc compris entre +/-2Pi.
J'ai modifié le code pour tracer aussi W et Y :
VB:
    While Abs(Y - w) > 0.01
        Range("A1:C1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        [A1] = Abs(Y - w)
        w = barrage(Bb, h, Am)  ' Cte
        [B1] = w
        Y = variation(Ac, AlphaS, Vs) ', Bb, h, Am)
        [C1] = Y
    Wend
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
dans Variation je pense qu'il y a une erreur de parenthèse.
Mais même rectifié, pour les inputs du post #1, je trouve un Deltah de -0.4m.
Cependant (si j'ai bien compris) DeltaH est le niveau par rapport à l'origine. Donc s'agissant d'un abaissement il serait normal que DeltaH soit négatif. Non ?
 

Pièces jointes

  • Classeur1.xlsm
    13.5 KB · Affichages: 2

Discussions similaires