Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

algoritmo para calculo de x en una ecuacion

Estas en el tema de algoritmo para calculo de x en una ecuacion en el foro de Visual Basic clásico en Foros del Web. Tengo la siguiente ecuación x^2 * (x-s) = r donde x es la incognita y lo demas son datos. Necesito que en funcion de esos ...
  #1 (permalink)  
Antiguo 07/07/2011, 10:06
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 1
algoritmo para calculo de x en una ecuacion

Tengo la siguiente ecuación x^2 * (x-s) = r



donde x es la incognita y lo demas son datos. Necesito que en funcion de esos datos se me calcule el valor de x, ya que esos datos pueden variar.

En esta ecuación para calcular el valor de t lo hacemos iterando, es decir, dando valores a x hasta que se cumpla la condición.

Entonces había pensado en ir dando valores con un "for" de 0 a 100 y si con un "if" se
cumplia la condición me diera el valor de t. Pero no me sale nada por pantalla, no se si
es que esta mal el algortimo o el problema es que no encuentra el valor exacto y por eso
no lo saca por pantalla. A continuación os pongo el algoritmo que tengo hecho:

'cálculo de la tensión de cada día
Private Sub tensioncadadia()
Dim a As Decimal
Dim origen As String
origen = TextBox79.Text
Dim res As String = origen.Replace(",", ".")
a = Val(res)
Dim b As Decimal
Dim origen2 As String
origen2 = TextBox80.Text
Dim res2 As String = origen2.Replace(",", ".")
b = Val(res2)

Dim r As Decimal = ((NumericUpDown24.Value ^ 2) * (peso ^ 2) * modulo) / (24 *
seccion ^ 2)
Dim s As Decimal = (a - dilatacion * modulo * (15 - b))

For x As Decimal = 0.0001 To 100.0 Step 0.0001
If x ^ 2 * (x - s) = r Then
TextBox82.Text = Val(x)
End If
Next x
End Sub

Etiquetas: calculo, ecuacion, algoritmos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:15.