Python - Resolver ecuaciones complicadas

 
Vista:

Resolver ecuaciones complicadas

Publicado por José (1 intervención) el 25/12/2012 23:57:18
Hola amigos!

He buscado y no he encontrado ningun tema parecido... perdón si esto ya se ha tratado... aquí va el problema!:

Resulta que quiero que Python me resuelva una ecuación... un tanto compleja:

H=itind+iqcua*((((((hbtind-H)/hbqcua)**0.5)+((hbtind2-H)/hbqcua2)**0.5))**2)

todo son números excepto la H... a mano se puede resolver iterando, y es lo que trate de hacer en python con el siguiente programa:
1
2
3
4
5
6
7
def altura(Hv):
    Hn=itind+iqcua*((((((hbtind-Hv)/hbqcua)**0.5)+((hbtind2-Hv)/hbqcua2)**0.5))**2)
    if abs(Hn-Hv)<0.0001:
        return Hn
    else:
        Hv=Hn
        altura(Hv)


Sin embargo esto me da bastante problemas porque a veces me salen raices negativas...

También se puede resolver con buenas calculadoras... yo he tratado de despejar la H pero me es imposible.... Entonces me pregunto si en Python hay alguna funcion que dada una ecuacion con una incógnita te la resuelva.

La verdad no se si me he explicado bien... un ejemplo:

En la ecuación:

H=10+50*((((((20-H)/200)**0.5)+((15-H)/250)**0.5))**2)

El resultado de la H ronda los 13.41 si empiezo a Iterar con un número cercano bien pero si empiezo a Iterar con 12(que no es excesivamente lejano) ya me sale una raíz negativa... alguna idea?

Un saludo y muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder