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:
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
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


0