Una de las capacidades menos conocidas de Matlab es la posibilidad de ejecutar directamente código Python desde la consola o un script. Accediendo a ellas de una forma completamente transparente. Lo que permite ampliar rápidamente las capacidades de Matlab con todas las funciones o librerías que existen en Python. En esta entrada se va a mostrar cómo hacer para llamar funciones de Python desde Matlab.
La forma de acceder a las funciones u objetos de Python en Matlab es mediante el paquete py. Siendo las propiedades de este paquete las funciones y paquetes de Python. Así, para llamar a una función de Python solamente se tiene que escribir esta como una propiedad de py. Por ejemplo, para imprimir el mensaje “Hola Python” solamente se tiene que escribir la siguiente línea
py.print('¡Hola Python!') Por otro lado, para acceder a las funciones de una librería de Python no es necesario importar esta, ya que las instaladas son una propiedad de py. Así para comprobar la versión de Python que se está utilizando se puede usar.
py.sys.version
Python str with no properties.
2.7.16 (default, Oct 17 2019, 17:14:30)
[GCC 4.2.1 Compatible Apple LLVM 11.0.0 (clang-1100.0.32.4) (-macos10.15-objc-s
En el ejemplo anterior se ha visto que Matlab usa por defecto la instalación de Python del sistema. En el caso de las versiones actuales de macOS Python 2.7. Pero se puede modificar para llamar a cualquier otra instalación. Por ejemplo, una distribución de Anaconda. Obteniendo de esta manera el acceso a todos los paquetes que se instalan por defecto en esta distribución como scikit-learn.
La función de Matlab para cambiar las opciones es pyversion(). Una función que solamente se puede llamar desde si no se ha utilizado Python previamente en la sesión. Por lo que en nuestro caso es necesario reiniciar Matlab. Una vez reiniciado Matlab simplemente se tiene que pasar como parámetro la ruta a la instalación de Python.
pyversion('/anaconda/bin/python'), A partir de ahora la instalación de Python que usará Matlab será la que le hemos indicado en la ruta. Por ejemplo, se podrá crear un objeto KMeans simplemente escribiendo:
py.sklearn.cluster.KMeans()
Otra opción, que posiblemente sea la más interesante, es llamar a código que se tenga en Python. Permitiendo reutilizar el trabajo realizado en Matlab. Para lo que se tiene que guardar el código en un archivo con extensión py, archivo que pasa a ser una propiedad del paquete py. Por ejemplo, se puede guardar el siguiente archivo como functions.py y acceder a las funciones simplemente.
suma = py.functions.sum(2, 3) cuadrado = py.functions.squared(2)
En esta entrada se han visto los fundamentos para poder utilizar Python en Matlab. Pudiendo así utilizar las librerías de Python en un entorno Matlab. Algo que ofrece múltiples posibilidades.
Imágenes: Pixabay (Michael Schwarzenberger)
Seguimos iterando sobre el laboratorio de Analytics Lane y lanzamos la versión 1.2, disponible en:https://www.analyticslane.com/lab/es…
En la primera entrega vimos cómo se puede medir la economía mirando lo que la…
Tienes los datos de tráfico web de los últimos cinco meses desglosados por canal: orgánico,…
La economía es una de las pocas disciplinas donde puedes proponer que el largo de…
Imagina que construyes un modelo de credit scoring y obtienes un Gini de 0,65. Un…
En un mundo donde los datos se han convertido en el lenguaje dominante de la…
This website uses cookies.