Как использовать MATLAB® массивы на Python®можно либо установить движок Python перед запуском упакованного приложения, как описано в Install MATLAB Engine API for Python, либо использовать import mypackage
перед import matlab
в следующих программах.
MATLAB Engine API для Python предоставляет пакет Python с именем matlab
это позволяет вам вызвать функции MATLAB из Python. The matlab
пакет предоставляет конструкторы для создания массивов MATLAB на языке Python. Он может создать массивы любого числового или логического типа MATLAB из типов последовательности Python. Поддерживаются многомерные массивы MATLAB. Список других поддерживаемых типов массивов см. в разделе Передача данных в MATLAB с Python.
Создайте массив MATLAB на Python и вызовите на нем функцию MATLAB. Принимая, что у вас есть пакет с именем mypackage
и метод, называемый mysqrt
внутри пакета можно использовать matlab.double
чтобы создать массив типа double, заданный в списке Python, который содержит числа. Можно вызвать функцию MATLAB mysqrt
на x
и возврат значение является другим matlab.double
массив, как показано на следующей программе:
import matlab import mypackage pkg = mypackage.initialize() x = matlab.double([1,4,9,16,25]) print(pkg.mysqrt(x))
Выходные выходы:
[[1.0,2.0,3.0,4.0,5.0]]
Создайте многомерный массив. The magic
функция возвращает массив 2-D в возможности Python. При условии, что у вас есть метод, вызываемый mysqrt
внутри mypackage
Для вызова этого метода можно использовать следующий код:
import matlab import mypackage pkg = mypackage.initialize() x = matlab.double([1,4,9,16,25]) print(pkg.mymagic(6))
Выходные выходы:
[[35.0,1.0,6.0,26.0,19.0,24.0],[3.0,32.0,7.0,21.0,23.0,25.0], [31.0,9.0,2.0,22.0,27.0,20.0],[8.0,28.0,33.0,17.0,10.0,15.0], [30.0,5.0,34.0,12.0,14.0,16.0],[4.0,36.0,29.0,13.0,18.0,11.0]]