sábado, 12 de noviembre de 2011

Integración en VBA

A continuación se encuentran 3 reglas de integración: Regla del trapecio para n subintervalos, regla de Simpson 1/3 para n subintervalos y regla de Simspon 3/8 para un subintervalo.

'función a integrar
Public Function g(x) As Double

g = x ^ 2

End Function

'regla del trapecio para n subintervalos
Public Function trap(a, b, n)

h = (b - a) / n
suma = 0

For i = 1 To n - 1
    
    suma = suma + g(a + (h * i))

Next i

trap = h * ((g(a) + g(b)) / 2 + suma)

End Function

'regla de simspon 1/3 para n subintervalos (n debe ser par)
Public Function simpson13(a, b, n) As Double

h = (b - a) / n
sumai = 0
sumap = 0

For i = 1 To n - 1 Step 2
    sumai = sumai + g(a + h * i)
Next i

For j = 2 To n - 2 Step 2
    sumap = sumap + g(a + h * j)
Next j

simpson13 = h / 3 * (g(a) + g(b) + 4 * sumai + 2 * sumap)

End Function

'regla de simpson 3/8 para 1 subintervalos
Public Function simpson38(a, b) As Double

h = (b - a) / 3

simpson38 = 3 / 8 * h * (g(a) + 3 * g(a + h) + 3 * g(a + 2 * h) + g(b))

End Function