DocteurVB
Messages postés211Date d'inscriptionlundi 19 août 2002StatutMembreDernière intervention20 mai 2005
-
4 août 2004 à 12:14
UnityKing
Messages postés4Date d'inscriptionsamedi 7 août 2004StatutMembreDernière intervention 4 mai 2005
-
7 août 2004 à 21:38
je voudrais calculé une valeur approchée d'une intégrale (j'utilise la méthode des trapèzes)
jusque la ça va, ça me donne même un résultat !! mais celui ci est faux dès la première décimal alors que la méthode utilisé est normalement précise jusqu'a la 5 ou 6e décimales (au moins)...
Function integr(z As Long) As Variant
Dim som As Variant 'contient la somme faite pour l'approximation
Dim bInf As Variant 'contient la valeur de la borne inférieur de l'intégrale
Dim bSup As Variant 'contient la valeur de la borne supérieur de l'intégrale
Dim nbDiv As Variant 'nb de subdivision de l'interval pour l'approximation de l'intégrale
Dim t1 As Variant
Dim t2 As Variant
Dim rct As Variant
Dim trg As Variant
bInf = Val("-0.000000000165e10")
bSup = Val("0.000000000165e10")
nbDiv = 100000
som = 0
For i = 0 To 99999
t1 = ((bInf + i * ((bSup - bInf) / nbDiv)))
t2 = ((bInf + (i + 1) * ((bSup - bInf) / nbDiv)))
rct = Sqr(1 + ((0.734 * t1 * z + 0.72 * t1 + 0.594) ^ 2)) * ((bSup - bInf) / nbDiv)
trg = ((Sqr(1 + ((0.734 * t2 * z + 0.72 * t2 + 0.594) ^ 2)) - Sqr(1 + ((0.734 * t1 * z + 0.72 * t1 + 0.594) ^ 2))) * ((bSup - bInf) / nbDiv)) / 2
som = som + (rct + trg)
Next
integr = som
End Function
la question est comment faire pour que cela soit plus précis...?
DocteurVB
****************************************************
N'oublie jamais que même le grand chêne a lui aussi, un jour, été un gland...
****************************************************
DocteurVB
Messages postés211Date d'inscriptionlundi 19 août 2002StatutMembreDernière intervention20 mai 2005 4 août 2004 à 13:18
beu en fait les variant CT pour avoir plus de décimales, tu sais quand on est désepérer on essaye n'importe koi... un peu comme pour bInf et bSup...
m'enfin même quand C pas des Variant ça marche pas...
DocteurVB
****************************************************
N'oublie jamais que même le grand chêne a lui aussi, un jour, été un gland...
****************************************************
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 4 août 2004 à 13:26
Le seul moyen d'avoir une bonne précision, c'est d'utiliser les double !!
Mais attention ! Autour de zéro, tu as un joli trou de valeur !!
Il passe de -4,94065645841247E-324 à 4,94065645841247E-324
PS : Ton variant ne peux apporter aucune précision supplémentaire, car il est converti en Double au moment des calcul. Il ralenti ton code, c'est tout !
DocteurVB
Messages postés211Date d'inscriptionlundi 19 août 2002StatutMembreDernière intervention20 mai 2005 4 août 2004 à 13:31
ok
merci
donc en fait mon pb viendrait peut être du "trou du zero"...
DocteurVB
****************************************************
N'oublie jamais que même le grand chêne a lui aussi, un jour, été un gland...
****************************************************
Vous n’avez pas trouvé la réponse que vous recherchez ?
DocteurVB
Messages postés211Date d'inscriptionlundi 19 août 2002StatutMembreDernière intervention20 mai 2005 4 août 2004 à 14:23
mais alors comment que je fais moi pour régler mon pb...snif...
DocteurVB
****************************************************
N'oublie jamais que même le grand chêne a lui aussi, un jour, été un gland...
****************************************************