Вы можете получить доступ ко всем стандартным Python® содержимое библиотеки из MATLAB®. Чтобы вызвать функциональность Python непосредственно из MATLAB, добавьте py. префикс имени функции Python, которую вы хотите вызвать. Вам не нужно импортировать модули.
Это руководство объясняет, как:
Проверьте версию Python на вашем компьютере.
Создайте объект Python и вызовите на нем метод.
Отображение справки по модулям Python.
Создайте специализированные list Python, tuple, и dict (словарь) типы
Вызовите метод для объекта Python с таким же именем, как и для функции MATLAB.
Вызовите функциональность из собственного модуля 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.
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')
resres =
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. Для примера:
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 | MATLAB- |
|---|---|
>>> ['Robert', 'Mary', 'Joseph'] | >> py.list({'Robert','Mary','Joseph'}) |
>>> [[1,2],[3,4]] | >> py.list({py.list([1,2]),py.list([3,4])}) |
Функции Python | MATLAB- |
|---|---|
>>> ('Robert', 19, 'Biology') | >> py.tuple({'Robert',19,'Biology'}) |
Функции Python | MATLAB- |
|---|---|
>>> {'Robert': 357, 'Joe': 391, 'Mary': 229} | > > py.dict (pyargs (...Для получения информации о передаче аргументов ключевого слова смотрите pyargs. |
Если класс Python задает метод с таким же именем, что и метод конвертера MATLAB для типов Python, MATLAB вызывает метод Python. Это означает, что вы не можете вызвать метод конвертера MATLAB для объекта этого класса.
Например, если класс Python задает char метод, этот оператор вызывает метод Python.
char(obj)
Использование MATLAB char функция, тип:
char(py.str(obj))
Можно использовать собственные Python- кода и сторонние модули в MATLAB. Содержимое должно находиться в пути Python. Установка стороннего модуля помещает содержимое на путь. Если вы создаете свои собственные модули, вы несете ответственность за их размещение на пути.
Для получения примера смотрите Вызов Пользовательский модуль Python.
Например, код, который можно открыть в Live Editor MATLAB, найти Рекомендуемые примеры на странице Библиотеки Python в MATLAB. Для получения информации о поиске примеров MATLAB, смотрите Примеры кода MATLAB.
Пример использования онлайн-набора данных см. в этом блоге MathWorks.