Main Content

Llamar a funciones de MATLAB desde Python

Utilice la API del motor de MATLAB® para Python® para llamar a cualquier función de MATLAB en la ruta de MATLAB.

Si la función de MATLAB no está en la ruta, puede llamarla desde la carpeta actual. Por ejemplo, para llamar a la función de MATLAB myFnc en la carpeta myFolder, escriba:

import matlab.engine
eng = matlab.engine.start_matlab()
eng.cd(r'myFolder', nargout=0)
eng.myFnc()

Devolver argumento de salida de una función de MATLAB

Puede llamar directamente a cualquier función de MATLAB y devolver los resultados a Python. Por ejemplo, para determinar si un número es primo, utilice el motor para llamar a la función isprime.

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
True

Devolver varios argumentos de salida de una función de MATLAB

Cuando llama a una función con el motor, de forma predeterminada el motor devuelve un único argumento de salida. Si sabe que la función puede devolver varios argumentos, utilice el argumento nargout para especificar el número de argumentos de salida.

Para determinar el máximo común denominador de dos números, utilice la función gcd. Establezca nargout para devolver los tres argumentos de salida de gcd.

import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
(20.0, 1.0, -1.0)

No devolver ningún argumento de salida de una función de MATLAB

Algunas funciones de MATLAB no devuelven ningún argumento de salida. Si la función no devuelve ningún argumento, establezca nargout en 0.

Abra el navegador de ayuda de MATLAB de Python.

import matlab.engine
eng = matlab.engine.start_matlab()
eng.doc(nargout=0)

La función doc de MATLAB abre el navegador, pero no devuelve argumentos de salida. Si no especifica nargout=0, el motor crea un error.

Detener la ejecución de una función

Para detener la ejecución de una función de MATLAB, pulse Ctrl+C. El control se devuelve a Python.

Utilizar nombres de funciones para operadores de MATLAB

Puede utilizar un operador de MATLAB en Python llamando a la función equivalente. Para obtener una lista de los operadores y de los nombres de las funciones asociadas, consulte Operadores de MATLAB y funciones asociadas. Por ejemplo, para sumar dos números, utilice la función plus en lugar del operador +.

import matlab.engine
eng = matlab.engine.start_matlab()
a = 2
b = 3
eng.plus(a,b) 

Consulte también

|

Temas relacionados