Curso de introducción a la programación con Python

Autor: Luis Fernando Apáez Álvarez

Proyecto 1 (parte I): Graficador de funciones.


Primer método

Sabemos que al considerar una función $f(x)$ podemos graficar ésta dando algunos valores representativos a la variable independiente $x$ para ver el comportamiento de $f(x)$. Por ejemplo, considerando la función $f(x)=x^{2}$ podemos considerar los valores

lo cual nos brinda algunas parejas ordenadas que podemos graficar. A continuación graficaremos los puntos obtenidos, para ello importaremos el módulo necesario, que en este caso es matplotlib.pyplot; notemos que después de importar el módulo colocamos as el cual nos permite asignar un alias cuando ocupemos sentencias referentes a dicho módulo (el alias puede ser cualquiera, en nuestro caso colocamos mplot.). Después necesitaremos de dos sentencias básicas: mplot.plot() para graficar y mplot.show() para mostrar la gráfica creada. Dentro de los parámetros de mplot.plot() colocamos las coordenadas $(x,y)$ del punto que deseamos graficar seguido de marker="" para el tipo de marcador que deseamos utilizar; asimismo podemos agregar el color que deseamos utilizando color=""

Ahora bien, todos los puntos los pondremos en un sólo formato con marker="o" y de color negrocolor="k". Dibujaremos ahora los ejes cartesianos, para ello emplearemos un bucle while.

Ahora, emplearemos la misma idea de cómo dibujamos los ejes para dibujar la gráfica de la función $f(x)=x^{2}$. Para evitar confución entre el manejo de la variables, reservaremos exclusivamente x y y para los ejes. De tal manera, si deseamos graficar $f(x)=y$, emplearemos el ajuste de las variables como $f(u)=v$. Así, la función que deseamos graficar es $f(u)={u^{2}}$:

Nótese que aún no conseguimos que la función tome la forma de una curva, continúa viéndose como muchos puntos consecutivos. Para marker="." tenemos el tipo de marcador punto como puede verse en el gráfico anterior, dado que éstos puntos se ven un poco gruesos utilizaremos en cambio marker="," el cual marca un tipo de pixel.

Podemos graficar otras funciones como:

Ahora bien para acceder a más funciones matemáticas importaremos el módulo math y graficaremos las funciones $f(x)=sen(x)$, $g(x)=\sqrt{x}$ y $h(x)=ln(x)$:

Podemos dibujar una circunferencia

Segundo método

El método anterior plantea un problema pues al realizar muchas iteraciones el tiempo de copilación aumentará. De hecho, el método empleado anteriormente es más ilustrativo que útil; a continuación utilizaremos el módulo sympy. Para ello

Ahora, recordemos que utilizamos x en Python como una variable a la cual podemos asignarle un valor e ir cambiando ese valor, pero en todo momento el valor que pueda tomar x debe estar declarado. Sin embargo, sabemos que en matemáticas podemos utilizar la variable $x$ que represente un número cualquiera sin especificar cuál es. Para trabajar con variables matemáticas en Python utilizaremos symbols(""). Por ejemplo, si deseamos considerar a x como una variable matemática hacemos que

Notemos que estamos trabajando con x sin haber declarado un valor previo como lo haciamos si deseabamos trabajar con la variable x dentro de Python. Ahora si podemos utilizar x como una variable del álgebra, por ejemplo podemos efectuar cálculos como $x+x$, $x\cdot x$, etcétera. En efecto

Ahora bien, podemos graficar funciones de una manera más sencilla, por ejemplo

donde dentro de plot() colocamos primero la función a graficar y después, entre paréntesis, colocamos el símbolo referente a la variable independiente matemática, seguido del intervalo donde graficaremos. Podemos graficar más funciones en un mismo plano:

o también agrupar las funciones a graficar junto con sus valores referentes al dominio de graficación entre paréntesis, esto es

Tercer método

En realidad el tercer método es una afinación del primer método, de tal manera volveremos a utilizar el módulo matplotlib y además agregaremos el módulo numpy. Bien, lo primero que necesitamos para graficar una función es definir el dominio de graficación, para ello utilizamos

donde el rango de graficación será en el intervalo sobre $x$ de $[-1,1)$ con un incremento de $0.01$. Prosigamos graficando la función $f(x)=x^{3}$, para ello

Otro ejemplo:

Podemos agregar más funciones a la gráfica, por ejemplo

Podemos cambiar el dominio de graficación de cada función:

Ahora, es posible agregar el título de un gráfico correspondiente, esto lo conseguimos utilizando labe="" dentro de mplot.plot() y para que dicho título se muestre usamos mplot.legend():

Socialmedia.PNG