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