Можно получить доступ ко всему стандартному Python® содержимое библиотеки из MATLAB®. Аналогично, можно использовать функциональность в сторонних или созданных пользователями модулях. Чтобы вызвать функциональность Python непосредственно из MATLAB, добавьте py.
снабдите префиксом к имени функции Python, которую вы хотите вызвать.
Чтобы вызвать содержимое в библиотеке стандарта Python, добавьте py.
перед именем функции Python или именем класса.
py.list({'This','is a','list'}) % Call built-in function list
Чтобы вызвать содержимое в доступных модулях, добавьте py.
перед именем модуля Python, сопровождаемым именем функции Python или именем класса.
py.textwrap.wrap('This is a string') % Call wrap function in module textwrap
Вы не должны импортировать модули для того, чтобы использовать их. Однако можно импортировать имена Python в функцию MATLAB таким же образом, что можно импортировать содержимое в пакетах MATLAB. Для получения дополнительной информации смотрите Понимание, что Python и MATLAB импортируют Команды.
MATLAB также обеспечивает способ запустить код Python в Интерпретаторе Python непосредственно из MATLAB. Для получения дополнительной информации смотрите Непосредственно Вызов Функциональность Python из MATLAB.
Этот пример объясняет как:
Проверяйте версию Python на своем компьютере.
Создайте объект Python и вызовите метод на нем.
Отобразите справку для модулей Python.
Создайте специализировал Python list
, 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, искать Известные Примеры на странице Calling Python from MATLAB. Для получения информации о поиске примеров MATLAB смотрите Примеры кода MATLAB.
Для примера с помощью онлайнового набора данных смотрите это сообщение в блоге MathWorks.