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()

Comments

author
Swansong made it! (author)2016-11-30

Gracias por compartir :)