Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Llamar a funciones de MATLAB desde Python

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 MATLAB Operators and Associated Functions. 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