Для использования массивов MATLAB ® в Python ® можно либо установить ядро Python перед запуском упакованного приложения, как описано в разделе Установка API MATLAB Engine для Python, либо использоватьimport mypackage прежде import matlab в следующих программах.
API-интерфейс MATLAB Engine для Python предоставляет пакет Python с именем matlab позволяет вызывать функции MATLAB из Python. matlab предоставляет конструкторы для создания массивов MATLAB в Python. Он может создавать массивы любого числового или логического типа MATLAB из типов последовательности Python. Поддерживаются многомерные массивы MATLAB. Список других поддерживаемых типов массивов см. в разделе Передача данных в MATLAB из Python.
Создайте массив MATLAB в Python и вызовите в нем функцию MATLAB. Предполагается, что у вас есть пакет с именем mypackage и метод с именем mysqrt внутри пакета, вы можете использовать matlab.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]]
Создайте многомерный массив. 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]]