Créer une formulaire pour résoudre le système d’équation non linéaire

Bonjour les amis ,
je viens vers vous pour solliciter votre aide pour un problème.Je voudrais créer une formulaire sous VBA qui me permettra de calculer les 2 paramètres alpha et beta. Je ne connais pas trop programmer sur VBA si vous pouviez m’apporter votre aide cela m’aidera beaucoup. Je suis à votre disposition pour plus d’information.Ci-joint le document.

Merci

Calcul des paramètres α et β.pdf (122,5 Ko)

Bonjour,

Un petit conseil. Pour qu’un spécialiste en VBA (que je serai peut être un jour) t’aide plus rapidement, isole d’abord les paramètres alpha et beta à partir des équations en image ci-dessous (autrement dit, à toi de faire mathématiquement des extractions à la main).

Ensuite, écris (même en langage naturel en cas de difficulté : beta, alpha, e expo moins alpha t indice 2, etc.) ces 2 paramètres dans un fichier Excel. Dans Excel, si tu fais Insertion puis symboles, tu trouveras de la matière pour y écrire tes équations. Il sera possible de comprendre ta production avec ou sans l’aide du fichier .Pdf que tu nous a déjà envoyé. En gros, qu’on voit un peu un début de ton apport dans la résolution de ton problème.

Un membre du forum te traduira avec plaisir ces 2 paramètres en langage Excel VBA et t’expliquera comment déclencher les résultats attendus. Le déclencheur pourrait être par exemple une liste déroulante des différents I indice 0).

A toi de voir,

Bonjour,
Merci pour votre réponse j’ai essayé de faire quelque
Je connais les résultats que je dois trouver mais il me faut les critere d’arret et de convergence vers la solution de tel sorte que si on donne les valeurs dans le tableau excel en IMAGE jointe
I1 = Cells(1, 3) = 200000
I2 = Cells(2, 3) = 100000
Alors
I0= 218810
α=11354
β=647265
Soit je converge mais pas exactement sur une valeur exacte.Je ne sais pas comment vous faire comprendre mon idée mais vous pouvez me poser la question

Macros_VBA

Sub Printvalue()
'Déclaration de la variable
Dim T1 As Single 'ma_variable As Integer
Dim T2 As Single 'ma_variable As Integer
Dim Alpha As Single 'ma_variable As Integer
Dim Beta As Single 'ma_variable As Integer
Dim I0 As Single 'ma_variable As Integer
Dim I1 As Single 'ma_variable As Integer
Dim I2 As Single 'ma_variable As Integer
Dim Sum As Single 'ma_variable As Integer

T1 = Cells(1, 2)
T2 = Cells(2, 2)
Alpha = 1000
Beta = 1000000
I0 = 10
I1 = Cells(1, 3)
I2 = Cells(2, 3)
'GoSub 11354 ‹ find sum ›
'GoSub 22708

Dim i As Integer
i = 1
For i = 1 To 1000
'If Cells(2, 3) < Cells(1, 3) Then
’ B5 = 11354
'Else
'B5 = Alpha = Beta * Exp((Alpha - Beta) * T1)
'End If
'Sub boucle_while()
'Dim numero As Integer
'While Alpha < 1
'If B5 < 0.00001 Then GoTo 11354 Else GoTo 22708
Alpha = Beta * Exp((Alpha - Beta) * T1)
Beta = ((Log(Exp(-Alpha * T2)) - I2 / I0) / T2)
Sum = (Exp(-1 * Alpha * T1) - Exp(-1 * Beta * T1))
I0 = (I1 / Sum)

Next

Range(« B5 »).Value = Alpha
Range(« B6 »).Value = Beta
Range(« B7 »).Value = I0
End Sub

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.