Matlab

Usar Python desde Matlab

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.

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

Cambiar la versión de Python empleada en Matlab

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()

Llamar a funciones en archivos de Python

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)

conclusiones

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)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Scikit-Learn

Recent Posts

¿Media, mediana o moda en variables ordinales? Guía práctica para el análisis de datos

Cuando comenzamos un análisis de datos, uno de los primeros pasos suele ser resumir las…

8 horas ago

Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato

En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…

5 días ago

Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)

En la serie Creación de una API REST con Express y TypeScript construimos una API…

1 semana ago

Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte

Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…

2 semanas ago

Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows

En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…

2 semanas ago

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

3 semanas ago

This website uses cookies.