Principal | Gráficos 3D | Gráficos 2D | Fractales | Math | Códigos | Tutoriales | Links
Para obtener una solución de f(x)=0 donde la función f(x) es continua, en el intervalo [a,b], donde f(a) y f(b) tienen diferente signo, es decir f(a).f(b)<0.
A modo de ejemplo vamos a resolver la siguiente ecuación f(x)=Cos(x)-x=0, tomamos en a=0.5 y b=Pi/4, ya que f(0.5).f(Pi/4)<0, con TOL=0.000001 y N=20, y obtenemos una en raíz x=0.739085086..., que tiene una exactitud hasta la 6 cifra decimal.El código del ejemplo se encuentra en biseccion.zip (1.686 bytes)
Sub Biseccion(ByVal a As Double, ByVal b As Double, ByVal TOL As Double, _
ByVal N As Integer, ByRef res As Double)
Dim p, fa, fp As Double
Dim i As Integer
Dim Flag As Boolean
i = 1
fa = f(a)
Flag = False
Do While (i <= N) And Not (Flag)
p = a + (b - a) / 2
fp = f(p)
If fp = 0 Or (b - a) / 2 < TOL Then
res = p
Flag = True
End If
i = i + 1
If fa * fp > 0 Then
a = p
fa = fp
Else
b = p
End If
Loop
If Not Flag Then
MsgBox "El método fracaso por exceder el numero de iteraciones", vbExclamation, "Bisección"
End If
End Sub
|
Nos permite encontrar la raíz de la ecuación f(x)=0, donde f(x) es una función continua definida en el intervalo [a,b], con f(a) y f(b) de signos diferentes.
Encontrar las raíces de f(x)=x3-2x2-5=0, para ello necesitamos dos aproximaciones tomamos a=2 y b=3,ya que f(2)=-5 y f(3)=4, la tolerancia Tol=0.000001 y con N=10 iteraciones, obtenemos una raíz en x = 2.690647. Código en Visual Basic del ejemplo regula.zip (1.786 bytes)
Sub Regula_Falsi(ByVal a As Double, ByVal b As Double, ByVal Tol As Double, _
ByVal N As Integer, ByRef Flag As Boolean, ByRef r As Double)
Dim q, q0, q1, p As Double
Dim i As Integer
i = 2
q0 = f(a)
q1 = f(b)
Do While (i <= N)
p = b - q1 * (b - a) / (q1 - q0)
If Abs(p - b) < Tol Then
Flag = True
r = p
Exit Sub
End If
i = i + 1
q = f(p)
If (q * q1 < 0) Then
a = b
q0 = q1
End If
b = p
q1 = q
Flag = False
Loop
End Sub
|
valcoey@hotmail.com
Ramiro Alcocer, 2001
Principal | Gráficos 3D | Gráficos 2D | Fractales | Math | Códigos | Tutoriales | Links