En R y en Python existen paquetes o librerías que permiten trabajar con funciones matemáticas de forma simbólica.
Un ejemplo en R es la librería Ryacas y un ejemplo en Python es Sympy.
Ejemplo: Consideremos la fucion \(f(x) = x^5 + x^2 x \in \mathbb R\) y supongamos que se desea hallar su integral.
Para la derivada se puede usar el siguiente código:
## [1] "5*x^4+2*x"
Para integral indefinida se puede usar:
## [1] "x^6/6+x^3/3"
Estas tres funcions se pueden graficar asi:
Grafique las siguientes fucciones:
Especifique cuales de estas funciones:
Adicionalmente escoja una de las funciones anteriores, obtenga su primera y segunda derivada y grafique las tres curvas en el mismo plano.
Sea \(f(x_1, x_2) = x_1^2 + x_2^2\). Las curvas de nivel de esta funcion se pueden obtener con el siguiente codigo:
Curvas de nivel de la función:
Sugerencia: probar la función filled.counter(). La representación en 3D se puede obtener con la función persp():
Sugerencia: probar la librería plotly f(x1,x2)=20+∑2i=1x2i−10cos(2πxi Escoja una de las siguientes funciones y respresente sus curvas de nivel y su grafica:
Función de Rosenbrock: \(f(x_1, x_2) = 100(x_1-x_2^2)+(1-x_1)^2, 2_i \in [-2.048,2.048]\), \(i?1,2\). Alcanza su valor minimo en \(x_1 = 1\) y \(x_2 = 1\).
Función de Rastrigin: \(f(x1,x2)= 20 + ∑_{i=1}^2 x_i^2 − 10cos(2\pi x_i) , x_i∈[−5.12,5.12]\), \(i=1,2\). Alcanza su valor minimo en \(x_1 = 0\) y \(x_2 = 0\).
Función de Schwefel: \(f(x1,x2) = -∑_{i=1}^2 x_i sin(\sqrt{|xi|}), xi∈[−500,500]\), \(i=1,2\). Alcanza su valor mínimo en \(x1=420.9687\) y \(x2=420.9687\).
Función de Griewank: \(f(x1,x2)=∑_{i=1}^2 \frac{x_i^2}{4000} − ∏_{i=1}^2 cos(\frac{x_i}{\sqrt{i}}) +1, xi∈[−600,600]\), \(i=1,2\). Alcanza su valor mínimo en \(x1=0\) y \(x2=0\).
Función Goldstein-Price: \(f(x_1,x_2)=[1+(x_1+x_2+1)^2(19−14x_1+3x_1^2−14x_2+6x_1x_2+3x_2^2)]\) \(×[30+(2x_1−3x_2)^2(18−32x_1+12x_1^2+48x_2−36x_1x_2+27x_2^2)]\), \(x_i∈[−2,2]\), \(i=1,2\). Alcanza su valor mínimo en \(x_1=0\) y \(x_2=−1\).
Funcion de las seis jorobas de cabello (six-humpcamel back): \(f(x1,x2)=(4−2.1x_1^2+x_1^{4/3})x_1^2+x_1x_2+(−4+4x_2^2)x_2^2\), \(x_1∈[−3,3]\) y \(x_2∈[−2,2]\). Alcanza su valor mínimo en \(x_1=−0.0898\) y \(x_2=0.7126\) y también en \(x_1=0.0898\) y \(x_2=0.7126\).
A partir de la grafica podemos determinar que la funcion es continua y convexa pero no es suave porque solo existen derivadas hasta el orden 3.
Se determina que la funcion es continua, convexa y suave debido a que es infinitamente diferenciable.
La funcion es continua, convexa y suave debido a que es infinitamente diferenciable por la componente del coseno.
Se determina que la funcion es continua y convexa, además no es suave debido a que no es diferenciable para todos los R.
La funcion es discontinua y convexa, ademas no es suave debido a que no es continua en 0.
La funcion es continua y convexa, además no es suave debido a que no es infinitamente diferenciable.
La funcion es discontinua y no es suave por lo mismo.
A continuacion se puede apreciar el grafico de curvas de nivel de la funcion y el grafico de calor de la misma.
Utilizando la funcion persp() podemos observar el grafico de la funcion en tres dimensiones.
Adicionalmente se obtiene un grafico interactivo en tres dimensiones de la funcion.
Observamos el mínimo de la función efectivamente en los puntos \(x1=1\) y \(x2=1\) con \(z\) igual a:
## [1] 0
A continuacion se puede apreciar el grafico de curvas de nivel y el grafico de calor
Utilizando la funcion persp() podemos observar el grafico de la funcion en tres dimensiones
Adicionalmente se obtiene un grafico interactivo en tres dimensiones de la funcion.
Observamos el mínimo de la función efectivamente en los puntos \(x1=420.9687\) y \(x2=420.9687\) con \(z\) igual a:## [1] -837.9658
Graficar funciones ayuda en gran manera a visualizar el comportamiento de los datos, a interpretar y analizar. Por ejemplo, la continuidad de las variables, su forma, visualizar posibles máximos y mínimos, y corroborar si los resultados son coherentes con la gráfica.