Использование массивов MATLAB в Python

Как использовать 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.

Примеры

  1. Создайте массив 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]]
  2. Создайте многомерный массив. 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]]
    

Похожие темы