exponenta event banner

Асинхронный вызов функций MATLAB из Python

В этом примере показано, как вызвать MATLAB ®sqrt асинхронно из Python ® и получить квадратный корень позже.

По умолчанию механизм синхронно вызывает функции MATLAB. Элемент управления возвращается в Python только после завершения функции MATLAB. Но механизм также может вызывать функции асинхронно. Элемент управления немедленно возвращается в Python, пока MATLAB все еще выполняет функцию. Модуль сохраняет результат в переменной Python, которую можно проверить после завершения функции.

Используйте background аргумент для асинхронного вызова функции MATLAB.

import matlab.engine
eng = matlab.engine.start_matlab()
future = eng.sqrt(4.0,background=True)
ret = future.result()
print(ret)
2.0

Используйте done метод проверки завершения асинхронного вызова.

tf = future.done()
print(tf)
True

Чтобы остановить выполнение функции до ее завершения, вызовите future.cancel().

См. также

|

Связанные темы