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

Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Comparar dos hipotecas parece sencillo: la que tenga el TIN más bajo es la mejor…

11 minutos ago

Segmentación RFM: cómo clasificar tu cartera de clientes antes de calcular el CLV

En un artículo anterior vimos la fórmula clásica del CLV junto a sus limitaciones. Una…

2 días ago

Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)

Y llegamos al final de una serie que había programado para ser de tres entradas.…

1 semana ago

PSI: Cómo Saber Cuándo tu Modelo de Credit Scoring se ha Degradado

Un modelo de credit scoring no es un artefacto estático. Se construye en un momento…

1 semana ago

Los indicadores que se autocumplen, o cuando medir es modificar – El bestiario de los indicadores económicos absurdos (parte 7)

En las seis entregas anteriores hemos paseado por casi todos los géneros del disparate económico:…

2 semanas ago

Customer Lifetime Value: la fórmula clásica que todo analista debería dominar

El Customer Lifetime Value (CLV) es, probablemente, la métrica más importante que puede calcular una…

2 semanas ago

This website uses cookies.