[VB.NET] Calcul déterministe d'une approximation d'intégrale (méthode des rectangles)
Republic of Computing - Forum :: Programmation :: Programmation algorithmique :: Banque d'algorithmes
Page 1 sur 1
[VB.NET] Calcul déterministe d'une approximation d'intégrale (méthode des rectangles)
Bonjour,
L'intégrale est une valeur analytique qui représente l'aire se trouvant sous une fonction f(x) sur un ensemble donné de x (en abscisse). Cet algorithme permet de calculer une approximation de cette intégrale sur un intervalle [a;b], la valeur de précision infinitésimale dx est à renseigner permettant ainsi à l'algorithme de tourner à des précisions différentes.
Algorithme en VB.NET
Notes : Le framework .NET ne possédant pas de fonction d'interprétation d'expressions algébriques il est nécessaire de rentrer la fonction f(x) désirée dans la procédure du même nom (unique paramètre d'entrée x). La valeur de précision dx doit être faible, une bonne valeur est 0,0001. On remarquera que l'algorithme fait la moyenne sur le sommet des rectangles, cela permet d'augmenter légèrement la précision de la mesure.
L'intégrale est une valeur analytique qui représente l'aire se trouvant sous une fonction f(x) sur un ensemble donné de x (en abscisse). Cet algorithme permet de calculer une approximation de cette intégrale sur un intervalle [a;b], la valeur de précision infinitésimale dx est à renseigner permettant ainsi à l'algorithme de tourner à des précisions différentes.
Algorithme en VB.NET
- Code:
Sub Main()
' Définitions et assignations
Dim dx As Decimal, a As Decimal, b As Decimal, res As Decimal = 0
Console.Out.WriteLine("dx=") : dx = Console.In.ReadLine()
Console.Out.WriteLine("a=") : a = Console.In.ReadLine()
Console.Out.WriteLine("b=") : b = Console.In.ReadLine()
' Somme des rectangles
For i As Decimal = a To b Step dx
res += ((f(i) + f(i + dx)) / 2) * dx
Next i
' Affichage de l'approximation de l'intégrale
Console.Out.WriteLine("intégrale de f(x) sur [" & a & ";" & b & "]=" & res)
Console.In.ReadLine()
End Sub
Function f(ByVal x As Decimal) As Decimal
Return Sin(2 * x) + 3 * x ^ 4
End Function
Notes : Le framework .NET ne possédant pas de fonction d'interprétation d'expressions algébriques il est nécessaire de rentrer la fonction f(x) désirée dans la procédure du même nom (unique paramètre d'entrée x). La valeur de précision dx doit être faible, une bonne valeur est 0,0001. On remarquera que l'algorithme fait la moyenne sur le sommet des rectangles, cela permet d'augmenter légèrement la précision de la mesure.
Skynyrd777- Admin
- Messages : 216
Date d'inscription : 02/06/2010
Republic of Computing - Forum :: Programmation :: Programmation algorithmique :: Banque d'algorithmes
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum