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

Можно получить доступ ко всему стандартному содержимому библиотеки Python® от MATLAB®. Чтобы вызвать функциональность 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.6"
       Executable: "C:\Users\aname\AppData\Local\Programs\Python\Python36\pythonw.exe"
          Library: "C:\Users\aname\AppData\Local\Programs\Python\Python36\python36.dll"
             Home: "C:\Users\aname\AppData\Local\Programs\Python\Python36"
           Status: NotLoaded
    ExecutionMode: InProcess

Если значение 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 (...
'Роберт', 357, 'Мэри', 229, 'Джо', 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 Libraries in MATLAB. Для получения информации о поиске примеров MATLAB смотрите Примеры кода MATLAB.

Для примера с помощью онлайнового набора данных смотрите это сообщение в блоге MathWorks.

Смотрите также

Похожие темы