Calcular Área Bajo La Curva En Python

by sarabuitrago in Craft > Digital Graphics

13024 Views, 6 Favorites, 0 Comments

Calcular Área Bajo La Curva En Python

Screen Shot 2016-11-21 at 8.13.05 PM.png
Screen Shot 2016-11-21 at 2.49.30 PM.png

Con este programa, es posible calcular el área bajo la curva de una gráfica de volumen vs. presión con el fin de encontrar el trabajo hecho a o por un gas ideal, tal como lo indica la Ley de Boyle. Este programa además gráfica la curva y sombrea el área debajo de ella.

Obtén Una Tabla De Valores

Screen Shot 2016-11-21 at 3.00.55 PM.png

Para realizar el programa, necesitas una serie de datos para crear la gráfica y poder encontrar el área bajo la curva. Necesitas una tabla de valores donde se compare Presión con Volumen.

Importar Librerías Y Datos

Screen Shot 2016-11-21 at 3.08.16 PM.png

Ya teniendo los valores en una tabla de valores en el computador, se puede continuar con el siguiente paso:

Para comenzar, necesitas importar una serie de librerías para tener acceso a las funciones que serán utilizadas. Estas son: numpy y matplotlib.pyplot

Posteriormente, se debe importar los datos de la tabla de valores esto se logra por medio de la función np.loadtxt("NombreDatos.txt").

A continuación, debes crear dos listas a las que le asignas los valores de alguna de las columnas de los datos. Asegúrese de que la columna de volumen quede asignada al eje "x" y que la columna de la presión quede asignada al eje "y"

Creación Del Programa

Screen Shot 2016-11-21 at 8.31.32 PM.png
5833a7d09bad4bc594000afb.jpeg

Para ubicar los puntos y la lista:

Se va a utilizar la fórmula de los trapecios para hallar el área total. Por lo tanto, se van a ubicar puntos como si fuese de un trapecio y posteriormente se van a sumar todas las áreas que se crearon.

Para comenzar, se tiene que crear un ciclo, de acuerdo a x número de datos que hay dentro de la lista. Para esto se utiliza for i in range para que se tomen todos los valores hasta, en este caso, 250 (números enteros).

Posteriormente, dentro de este ciclo, se asignan unas variables para que vayan tomando valores distintos en cada ciclo. Se necesitan crear cuatro variables, para los puntos tal y como lo están mostrados en la imagen. Estas variables son: volumen, volumen2, presion, presion2.

A "volumen" y "presion" se les asignan los valores que corresponden al dato número i de la lista y a "volumen2" y "presion2" se le asigna el dato que le sigue en esas listas, es por eso que se escribe i + 1

Es importante tener en cuenta que se tienen que crear listas, que en este caso son "puntosvolumen" y "puntospresion" para que guarden todos los valores que toman las variables "volumen" y "presión" a lo largo del ciclo.

Se va aumentando el contador i, para que siempre se tome el próximo valor dentro de las listas.

Para hallar el área:

Se conoce la fórmula del área del trapecio. Para encontrar la base del trapezoide se utiliza la fórmula: base=volumen-volumen2. Posteriormente, se conoce que la longitud de los dos lados laterales es igual al valor de los puntos "presion" y "presion2". Por lo tanto se deben remplazar los valores para encontrar el área de un trapecio. Posteriormente se crea otra variable para que vaya sumando todos los valores del área de todos los trapecios que fueron creados durante el ciclo. Esta suma final será el valor final del área debajo de la curva.

Ejecutando El Programa Y Graficando

5833a98265d221eaa90012e4.jpeg

Dado a que en este programa se dieron las unidades en litros y se debe dar el resultado en metros, entonces de divide el resultado final en 1000.

Para imprimir el resultado, se debe escribir la función "print" y poner lo que se desee imprimir.

Se utiliza la función "plt.xlim" para delimitar la ventana horizontalmente.

Para sombrear el área debajo de la curva, se utiliza la función "plt.fill_between()"

Para ubicar los puntos que conformarán una línea (la curva) se utiliza la función "plt.plot()" y se incluyen las listas en las que se guardaron todos los valores que tomaron las variables volumen y presion. Es decir, las listas de "puntospresion" y "puntosvolumen". Finalmente, se debe incluir la función "plt.show()".

RESULTADO FINAL

Screen Shot 2016-11-21 at 9.29.32 PM.png