Introduction: Como Gráficar La Relación Entre Volumen Y Presión De Los Gases Y Como Hallar El Área Bajo La Curva En Python
Este programa gráfica la curva que existe entre la relación de presión y volumen en los gases. Además este programa encuentra el área bajo la curva que representa el trabajo.
Step 1: Haga Un Plan
Crea un plan de como hacer el código
Step 2: Importar Librerías
Debes importar las librerías llamadas numpy y matplotlib.pyplot. Esto es porque sin ellas el código no funcionaría.
import numpy as np<br>import matplotlib.pyplot as plt
Step 3: Crea Una Variable Que Contenga Los Datos a Gráficar Y Añádelos a Una Lista
Usa una lista de datos. Esa lista debes asignarla a una variable para que se guarden. Luego esa variable añádela a dos listas, una para el eje x y otra para el eje y.
data=np.loadtxt("gases.txt",float)<br>x=data[0:1000,1] y=data[0:1000,0]
Step 4: Encuentra El Área
Para el área debes crear un for i in range. Debes limitarlo a el numero de datos que tienes. Luego al ser una curva, debes hacer que el programa calcule el área de trapecio pequeños y se sumen estas áreas. El área de un trapecio es sumando las dos bases, multiplicarla por la altura y dividendo en dos. Para que haga varios trapecios debes decir que se coja el dato inicial, que se sume el siguiente y se divida en 2. Luego ese valor multiplicarlo por el dato inicial restado al dato siguiente. Esto lo debes anexar a una lista vacía que puedes llamar área.
area=[]<br>for i in range(0,251): area.append((((y[i+1]+y[i])/2)*(x[i+1]-x[i])))
Step 5: Imprime El Área
Para imprimir los resultados de tu área, debes imprimir la suma de cada área y dividirla entre mil, pues los datos están en litros y se necesitan en metro cúbico.
print sum(area)/1000, "Julios"<br>
Step 6: Gráfica Los Resultados
Para gráficar los resultados es muy sencillo. Debes escribir plt.plot y entre paréntesis las listas en las que tienes guardados los datos con los que vas a trabajar. Finalmente escribes plt.show para que se pueda visualizar la gráfica.
plt.plot(x,y, "r-")<br>plt.fill_between(x,y) plt.show()
Step 7: Resultado Final
El resultado final debería ser algo así:
import numpy as np<br>import matplotlib.pyplot as plt
data=np.loadtxt("gases.txt",float) x=data[0:1000,1] y=data[0:1000,0]
area=[] for i in range(0,251): area.append((((y[i+1]+y[i])/2)*(x[i+1]-x[i])))
print sum(area)/1000, "Julios"
plt.plot(x,y, "r-") plt.fill_between(x,y) plt.show()