Вызовите функции 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().

См. также

|

Похожие темы