Comment faire une Intégrale

C

Christophe V.

Guest
Salut @ tous
Depuis un certain temps je cherche à créer une fonction qui calcule l'intégrale d'une courbe expérimentale.

Autrement dit l'aire sous la courbe. Pour cela je veux utiliser la méthode des trapèzes (je pense que C la plus simple mais y'a surement mieux)

En utilisant la formule : x(n-1)-x(n)*y(n) on fait la somme des rectangle
Et puis en additionnant la somme des triangles x(n-1)-x(n)*(y(n)-y(n-1))

On devrait obtenir la surface sous la courbe

La formule fonctionne dans une feuille XL mais pour la convertir en fonction, je m'emmèle les pinceaux avec "For each in "

Merci d'avance pour votre aide
 
P

PhiBou

Guest
Bonjour Christophe V, le Forum

Tes coordonnées étant dans x(n) et y(n) ---> avec n de 1 à Nbre
Cette petite procédure calcule l'aire :

For i = 1 To Nbre - 1
somme1 = somme1 + (x(i + 1) - x(i)) * y(i)
somme2 = somme2 + (x(i + 1) - x(i)) * y(i + 1)
Next i
Result = (somme1 + somme2)/2

Bonne journée

PhiBou
 
C

Christophe V.

Guest
Fausse alerte ! En m'appliquant un peu ca marche. Voici quand même la syntaxe :
Function Intégrale(X, Y) As Variant

Dim i As Integer
Dim somme1 As Variant
Dim somme2 As Variant

NbreVal = Application.WorksheetFunction.CountA(X)

For i = 1 To NbreVal - 1
somme1 = somme1 + (X(i + 1) - X(i)) * Y(i)
somme2 = somme2 + (X(i + 1) - X(i)) * Y(i + 1)
Next i
Intégrale = (somme1 + somme2) / 2

End Function

Merci encore
 

Discussions similaires

Statistiques des forums

Discussions
314 162
Messages
2 106 604
Membres
109 639
dernier inscrit
Phil1860