Доступ к модулям Python от MATLAB - Начало работы

Вы можете получить доступ ко всем стандартным Python® содержимое библиотеки из MATLAB®. Чтобы вызвать функциональность Python непосредственно из MATLAB, добавьте py. префикс имени функции Python, которую вы хотите вызвать. Вам не нужно импортировать модули.

Цели обучения

Это руководство объясняет, как:

  • Проверьте версию Python на вашем компьютере.

  • Создайте объект Python и вызовите на нем метод.

  • Отображение справки по модулям Python.

  • Создайте специализированные list Python, tuple, и dict (словарь) типы

  • Вызовите метод для объекта Python с таким же именем, как и для функции MATLAB.

  • Вызовите функциональность из собственного модуля Python.

  • Найти примеры.

Проверьте строение Python

Чтобы использовать Python в MATLAB, на вашем компьютере должна быть установлена поддерживаемая версия Python. Чтобы убедиться, что у вас есть поддерживаемая версия, введите:

pyenv
ans = 

  PythonEnvironment with properties:

          Version: "3.8"
       Executable: "C:\Users\aname\AppData\Local\Programs\Python\Python38\pythonw.exe"
          Library: "C:\Users\aname\AppData\Local\Programs\Python\Python38\python38.dll"
             Home: "C:\Users\aname\AppData\Local\Programs\Python\Python38"
           Status: NotLoaded
    ExecutionMode: OutOfProcess

Если значение Version свойство пустое, поэтому у вас нет поддерживаемой версии. Дополнительные сведения об установке Python см. в разделе Настройка системы для использования Python.

Доступ к модулям стандартной библиотеки Python в MATLAB

MATLAB взаимодействует с интерпретатором Python на вашем компьютере, предоставляя вам доступ ко всему стандартному содержимому библиотеки. Например, создайте list Python тип данных.

res = py.list({'Name1','Name2','Name3'})
res = 

  Python list with no properties.

    ['Name1', 'Name2', 'Name3']

MATLAB распознает объекты Python и автоматически преобразует массив ячеек MATLAB в соответствующий тип Python.

Можно вызвать методы Python для объекта. Отображение доступных методов для list объекты, введите methods(py.list). Например, обновите список res использование append Python функция.

res.append('Name4')
res
res = 

  Python list with no properties.

    ['Name1', 'Name2', 'Name3', 'Name4']

Для преобразования list переменная к переменному MATLAB, вызов cell в списке и char на элементах списка.

mylist = cellfun(@char,cell(res),'UniformOutput',false)
mylist =

  1×4 cell array

    {'Name1'}    {'Name2'}    {'Name3'}    {'Name4'}

Отображение документации по Python в MATLAB

Вы можете отобразить текст справки для функций Python в MATLAB. Для примера:

py.help('list.append')
Help on method_descriptor in list:

list.append = append(...)
    L.append(object) -> None -- append object to end

Заполнение клавишей Tab при вводе py. не отображает доступную функциональность Python. Для получения дополнительной информации см. Справку по функциям Python.

Создание типов списков, кортежей и словарей

В этой таблице показаны команды для создания list, tuple, и dict типы. Команды слева выполняются от интерпретатора Python. Команды справа являются командами MATLAB.

Функции Python list[]

MATLAB- py.list

>>> ['Robert', 'Mary', 'Joseph']>> py.list({'Robert','Mary','Joseph'})
>>> [[1,2],[3,4]]>> py.list({py.list([1,2]),py.list([3,4])})

Функции Python tuple()

MATLAB- py.tuple

>>> ('Robert', 19, 'Biology')>> py.tuple({'Robert',19,'Biology'})

Функции Python dict{}

MATLAB- py.dict

>>> {'Robert': 357, 'Joe': 391, 'Mary': 229}> > py.dict (pyargs (...
'Robert', 357 ',' Mary ', 229', 'Joe', 391))


Для получения информации о передаче аргументов ключевого слова смотрите pyargs.

Порядок приоритетов методов и функций

Если класс Python задает метод с таким же именем, что и метод конвертера MATLAB для типов Python, MATLAB вызывает метод Python. Это означает, что вы не можете вызвать метод конвертера MATLAB для объекта этого класса.

Например, если класс Python задает char метод, этот оператор вызывает метод Python.

char(obj)

Использование MATLAB char функция, тип:

char(py.str(obj))

Доступ к другим модулям Python

Можно использовать собственные Python- кода и сторонние модули в MATLAB. Содержимое должно находиться в пути Python. Установка стороннего модуля помещает содержимое на путь. Если вы создаете свои собственные модули, вы несете ответственность за их размещение на пути.

Для получения примера смотрите Вызов Пользовательский модуль Python.

Примеры Python

Например, код, который можно открыть в Live Editor MATLAB, найти Рекомендуемые примеры на странице Библиотеки Python в MATLAB. Для получения информации о поиске примеров MATLAB, смотрите Примеры кода MATLAB.

Пример использования онлайн-набора данных см. в этом блоге MathWorks.

См. также

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте