Вы можете получить доступ ко всем стандартным 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')
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. Для примера:
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.