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
matlab.engine.MatlabEngine
| matlab.engine.FutureResult