Python - Resolver ecuación

 
Vista:
sin imagen de perfil

Resolver ecuación

Publicado por Lelar (4 intervenciones) el 28/12/2021 00:44:05
Hola quiero resolver una ecuación , pero no comprendo bien Python, tengo esto de código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#Calculando altura crítica con caudal conocido
 
def F(yc2):
    Q= 87.87
    m=1.5
    b=4.6
    yc2=x[0]
    A =(b+m*yc2)*yc2 #Área trapecio
    P = b + 2*yc2*np.sqrt(1 + m**2)#Perimetro mojado trapecio
    B = b + 2*m*yc2  #Espejo de agua trapecio
    Rh=A/P #Radio hidráulico trapecio
    F=np.zeros(0)
    F[0]=((Q**2*B)/(g*A**3))-1
yin=2.5
x=fsolve(yc2,yin)
Este error me tira:
1
2
3
4
5
6
7
NameError                                 Traceback (most recent call last)
<ipython-input-8-df425ae5e5e8> in <module>
      9     F[0]=((Q**2*B)/(g*A**3))-1
     10 yin=2.5
---> 11 x=fsolve(yc2,yin)
 
NameError: name 'yc2' is not defined
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
sin imagen de perfil

Resolver ecuación

Publicado por Lelar (4 intervenciones) el 28/12/2021 02:14:10
Observación, primero importé la siguiente librería:
1
2
3
4
5
#Se importan las librerías necesarias para realizar las operaciones matemáticas:
import numpy as np
from scipy.optimize import fsolve
import matplotlib.pyplot as plt
%matplotlib inline
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Resolver ecuación

Publicado por Francisco Javier (313 intervenciones) el 29/12/2021 09:00:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def F(yc2):#aquí creas una funcion con un argumento que en ninigún momento lo defines
    Q= 87.87
    m=1.5
    b=4.6
    yc2=x[0]#aqui se supone que si x fuera una lista porías definir yc2 pero no exixte x como lista o string o  tupla
    A =(b+m*yc2)*yc2 #Área trapecio
    P = b + 2*yc2*np.sqrt(1 + m**2)#Perimetro mojado trapecio
    B = b + 2*m*yc2  #Espejo de agua trapecio
    Rh=A/P #Radio hidráulico trapecio
    F=np.zeros(0)
    F[0]=((Q**2*B)/(g*A**3))-1#aquí g es otra variable no definida y quí termina la funcíon que no devuelve nada ni imprime naa
yin=2.5#esta varible se pronuncia paro no aparece en ningún lado
x=fsolve(yc2,yin)#y aqui le decimos a x que es igual a una función que no aparecece en el código con dos argumentos en el que sólo yin tenemos definido.
#Conclusión
#Creo que falta código como por ejemplo el valor de yc2 o en su defecto que la funcíon fsolve devualva una lista.
#luego la primera funcñion deveria devolver algo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Resolver ecuación

Publicado por algoritmo (245 intervenciones) el 28/12/2021 11:47:31
Hola

No tengo las librerías que utilizas, aunque veo algunas cosas que no me gustan:

1) x=fsolve(yc2,yin)
Haces una llamada a la función fsolve con 2 parámetros: yc2 QUE NO ESTÁ DEFINIDO y yin que sí lo está
2) Has creado la función F, y dentro de ella, haces una asignación a una VARIABLE F ...F=np.zeros(0)... Estás nombrando la variable con el mismo nombre que la función (eso seguro que te da problemas)

Espero que te sirva :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar