Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2009, 09:09
kosios
 
Fecha de Ingreso: marzo-2009
Mensajes: 90
Antigüedad: 15 años, 2 meses
Puntos: 0
Ayuda con metodo biseccion ya hize el codigo?

Hola amigos hize el codigo para el metodo de biseccion....ahora q tengo tengo un textbox para el resultado, la ecuaicon es fija...tengo dos textbox uno para el intervalo y otro para el b...y tengo mi boton ejecutar y limpiar....q quiero..el siguiente codigo muestra q los intervalos a y b son como constantes...q quiero...y nohe podido lograr hacer q el bajor de los intervalos a y b no sean fijos...sino q los puedas digitar en sus respectivos textbox....... ya q si los dejo asi como si fuesen fijos cuando haga el mi archivo .EXE solo servira para esos puntos...me ghustaria q me ayudaran lo mas pronto posible les paso el codigo.... gracias por leerlo...cualquier ayuda les agradesco...

Option Explicit
Dim a, b As Double
Dim TOL As Double
Dim res As Double
Dim N As Integer

Function f(ByVal x As Double) As Double
f = Cos(x) - x
End Function

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

Private Sub cmdEjecutar_Click()
Call Biseccion(a, b, TOL, N, res)
txtr.Text = res
End Sub

Private Sub Form_Load()
a = 0.5
b = 0.785398163
TOL = 0.000001
N = 20
End Sub

Private Sub cmdSalir_Click()
Unload Me
End Sub