1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
x est un tableau <agrandissement=1> de réels
y est un tableau <agrandissement=1> de réels
RésultatParamètres est un tableau de 3 réels
RésultatDéviationStandard est un tableau de 3 réels
numparams est un entier
EoFitHandle,iret sont des entiers système
v est entier = 30
sEquation est une chaîne = "y = b1 + b2 * x ^ b3;" // Equation de Herschel Buckley
hInst est un entier
// on simule des données pour test
POUR i = 1 A v
x[i] = i*10
y[i] = 3.4 + (2.5*x[i]^1.85)
FIN
hInst = ChargeDLL("Eofit.dll") // fonctionne
SI hInst = 0 ALORS
Erreur("Erreur lors du chargement de Eofit")
SINON
EoFitHandle = AppelDLL32("Eofit.dll", "EoFitEqCreate",sEquation, &x,&y,v)
AppelDLL32("Eofit.dll","EoFitGetNumParams",EoFitHandle,&numparams)
// dans l'exemple si numparams = 3 c'est que l'equation est comprise
iret = AppelDLL32("Eofit.dll","EoFitOptimize",EoFitHandle)
AppelDLL32("Eofit.dll","EoFitEqGetParam",EoFitHandle, "b1",&RésultatParamètres[1] )
AppelDLL32("Eofit.dll","EoFitEqGetParam",EoFitHandle, "b2",&RésultatParamètres[2] )
AppelDLL32("Eofit.dll","EoFitEqGetParam",EoFitHandle, "b3",&RésultatParamètres[3] )
AppelDLL32("Eofit.dll","EoFitEqGetStdDev",EoFitHandle, "b1",&RésultatDéviationStandard[1] )
AppelDLL32("Eofit.dll","EoFitEqGetStdDev",EoFitHandle, "b2",&RésultatDéviationStandard[2] )
AppelDLL32("Eofit.dll","EoFitEqGetStdDev",EoFitHandle, "b3",&RésultatDéviationStandard[3] )
DéchargeDLL(hInst)
FIN |
Partager