exponenta event banner

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

Для использования массивов 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.

Примеры

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

Связанные темы