В этом примере показано, как вызвать 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()
.
matlab.engine.MatlabEngine
| matlab.engine.FutureResult