Graficacion y ambiente Spyder-Python

download Graficacion y ambiente Spyder-Python

of 11

description

Documento explicativo de instalación de spyder y aplicaciones gráficas con Matplotlib.

Transcript of Graficacion y ambiente Spyder-Python

USO DE PYTHON PARA GRAFICAR FUNCIONES Y CAMPOS VECTORIALES

Por

WILDER DANILO CASTAO GONZALEZ

JORGE ERNESTO VEGA

MateriaALGORITMOS Y PROGRAMACION

ProfesorJAIME VALENCIA

UNIVERSIDAD DE ANTIOQUIAFACULTAD DE INGENIERA2015

OBJETIVO

Desde el punto de vista de la aplicacin de la ingeniera a la solucin de problemticas que actualmente abundan en la sociedad, es de gran importancia obtener un modelado de la situacin que se vaya a estudiar y es que bsicamente la gran mayora de variables que a diario nos encontramos en el entorno estn regidas internamente por una ecuacin diferencial, es decir, se controlan, se estudia y se predicen posibles cambios en el tiempo mediante esta herramienta, con el fin de buscar la mayor eficiencia posible en lo que se est trabajando.

Es por eso que la aplicacin de esta herramienta como lo es la graficacion de funciones y la utilizacin de campos direccionales es vital para que el estudiante de ingeniera tenga un mayor panorama grafico del comportamiento y las tendencias en cuanto a las variables que se estn trabajando, de hecho, es parte de su campo laboral el manejar esta clase de situaciones.

Por tal motivo desde el curso de algoritmos y programacin se trabaja una herramienta muy utilizada para esta clase de seguimientos (python, Matlab), y por ende, sera muy recomendado que el estudiante aprendiera nociones bsicas al respecto, que a continuacin se explicarn paso a paso.

INSTALACIN

Instalacin de la interfaz Spyder para Python.

En windows: descargar e instalar desde el siguiente enlace:

https://github.com/spyder-ide/spyder/releases

En ubuntu: sudo apt-get install spyder

Instalacin del paquete sympy (manejo de matemtica simblica).

En windows:https://github.com/sympy/sympy/releases

En ubuntu: sudo apt-get install python-sympyINTERFAZ DEL USUARIOAyudaExplorador de variables y de archivos

Lnea de comandosrea para scripts

GRAFICADO DE FUNCIONES Importacin de funciones:

El primer paso para utilizar las funciones de python es cargar los mdulos que las contienen. En este caso se requieren las funciones numricas del paquete numpy y las funciones de graficado del paquete matplot lib. Digite los siguientes comandos en la lnea de comandos:import numpy as npimport matplotlib.pyplot as pltGENERACION DE LOS VALORES DE LA VARIABLE XSupongamos que se desea graficar una funciny=f(x). El primer paso consiste en generar los valores de la variable independiente x que se desean graficar. Para esto se utiliza la funcin linspace. Esta funcin genera un conjunto de n nmeros igualmente espaciados en un intervalo. Digite:X= np.linspace(0,10,100) Genera 100 puntos igualmente espaciados entre 0 y 10 y los almacena en la variable (vector) X.

CALCULOS DE LOS VALORES DE LA VARIABLE DEPENDIENTE (Y)

Escribir la funcin y=f(x), utilizando las diferentes funciones matemticas existentes:

Operadores bsicos +,-, * (multiplicacin) y / (divisin). Potenciacin ** (ej: X al cubo: X**3). Funciones matemticas conocidas: seno sin (), coseno cos(), exponencial natural Exp(), etc.Ejemplo para la funcin y = x2Y = X**2 Con esta lnea se calcularn los valores de Y correspondientes a cada uno de los valores de X generados en el paso anterior. Puede verificar imprimiendo sus valore simplemente escribiendo el nombre de la variable Y.

GRAFICANDO

Simplemente se utiliza el comando plot, el cual recibe como parmetros los valores de X y Y calculados previamente.plt.plot(X, Y) Se obtendr la grfica de la funcin solicitada.

CREANDO UN SCRIPT

Los scripts son archivos de texto que guardan secuencias de comandos para poder utilizarlos varias veces. Digite nuevamente los comandos anteriores en el rea de Script y guarde el archivo de texto resultante, de este modo podr reutilizarlo. Puede utilizar el boton de play en cualquier momento para ejecutar el script que se muestra actualmente.

RESULTADO FINAL

Nota:

Es importante aclarar al estudiante que existe un recurso llamado campos direccionales.Enmatemticas, en el mbito de Ecuaciones Diferenciales Ordinarias (EDO), se emplea este procedimiento para evaluar el comportamiento de las soluciones (que corresponden a funciones). ste elemento, es parte de lo que se conoce como teora cualitativa para EDO, el cual complementado con el retrato de fase (espirales, sumideros o nodos), constituyen una potentsima herramienta para revisar el comportamiento e ilustrar modelos.

CREACIN DE CAMPOSDIRECCIONALES Se utilizar python para generar el campo direccional de una ecuacin diferencial de la forma dy/dx = f(x,y). Primero que todo ntese que la funcin F depende de las dos variables X y Y. Por lo tanto se deben generar valores para ambas variables en un intervalo antes de proceder a calcular los valores de F.

GENERACIN DE LOS VALORESDE X y Y

Se repite el procedimiento utilizado para generar los valores de X en el ejemplo anterior, utilizando la funcin linspace. En este caso se utiliza para ambas variables.X = np.linspace(-5,5,20)Y = np.linspace(-5,5,20)Sin embargo, se han generado independientemente los dos vectores y no se tienen en cuenta las combinaciones de estos. Las combinaciones se obtienen utilizando la funcin meshgrid.X, Y= np.meshgrid(X, Y)

Ejemplo:X=np.linspace(0,5,5)Y=np.linspace(0,5,5)

Ejemplo:X, Y= np.meshgrid(X, Y)

En pocas palabras, se ha generado una malla o grid de valores XY para poder proceder a calcular las pendientes en cada punto.

OBTENCIN DE LOS VALORESDE LA PENDIENTE

Se escribe la ecuacin de la pendiente (derivada) en funcin de las variables X y Y siguiendo las indicaciones dadas para las funciones. Ej: dy/dx = 2X derivada=2*X Donde la variable derivada almacenar los valores de las pendientes.

LA FUNCIN QUIVER

Esta funcin permite graficar un campo direccional o campo de flechas. El formato de la funcin es el siguiente:plt.quiver(X, Y, deltaX,deltaY) Donde X y Y representan las coordenadas de cada uno de las flechas a dibujar (punto inicial). deltaX y deltaY representan las componentes de cada vector en las posiciones X y Y.OBTENIENDO LOSPARMETROS DE QUIVER

Teniendo en cuenta que la pendiente est dada por la razn deltaY / deltaX. Es posible asumir deltaX = 1 y deltaY = derivada (pendiente).deltaX=1deltaY=derivada Para mejorar la presentacin grfica es mejor normalizar las flechas para que todas tengan longitud unitaria. Se calcula la longitud del vector:

longitud=np.sqrt(deltaX**2 + deltaY**2) Donde sqrt se utiliza para obtener la raz cuadrada. Y se divide cada valor para normalizar:deltaX=deltaX/longituddeltaY=deltaY/longitudGRAFICANDO

Se aplica la funcin quivert con los parmetros indicados anteriormenteplt.quiver(X, Y, deltaX,deltaY)

ACOPLANDO LO ANTERIOR

El siguiente script permite unificar en una sola grfica el campo direccional de la ecuacin diferencial dy/dx = 2X y de una de sus soluciones Y(x) = x2. Se han modificado los rangos de las funciones para una mejor visualizacin.