Асинхронный вызов функций 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().

Смотрите также

|

Похожие темы