exponenta event banner

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

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

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

В этом учебном пособии объясняется, как:

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

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

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

  • Создание специализированного Python list, 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 на компьютере, предоставляя доступ ко всему стандартному библиотечному содержимому. Например, создайте Python list тип данных.

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 использование Python append функция.

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

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

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

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

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

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

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

Питон 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])})

Питон tuple()

MATLAB py.tuple

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

Питон 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 converter для объекта этого класса.

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

char(obj)

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

char(py.str(obj))

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

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

Пример см. в разделе Вызов определяемого пользователем модуля Python.

Примеры Python

Например, код, который можно открыть в интерактивном редакторе MATLAB, можно найти в разделе Примеры на странице Библиотеки Python на MATLAB. Сведения о поиске примеров MATLAB см. в разделе Примеры кода MATLAB.

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

См. также

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