matlab.engine.MatlabEngine class

Пакет: mATLABEngine

Объект Python, использующий MATLAB в качестве вычислительного движка в сеансе Python

Описание

MatlabEngine класс использует процесс MATLAB® в качестве вычислительного механизма для Python®. Можно вызвать функции MATLAB как методы MatlabEngine возразите, потому что функции динамически вызываются, когда вы вызываете их. Также можно вызвать функции и скрипты, которые вы задаете. Можно отправить данные в и получить данные от, рабочее пространство MATLAB, сопоставленное с MatlabEngine объект.

Конструкция

matlab.engine.start_matlab функция создает MatlabEngine возразите каждый раз, когда это называется. Нет никакой потребности вызвать matlab.engine.MatlabEngine() создать MatlabEngine собственные объекты.

Методы

Можно вызвать любую функцию MATLAB как метод MatlabEngine объект. Механизм динамически вызывает функцию MATLAB, когда вы вызываете его. Синтаксис показывает позиционный, ключевое слово и выходные аргументы вызова функции.

мочите = MatlabEngine. matlabfunc(*args, nargout=1, background=False, stdout=sys.stsdout, stderr=sys.stderr)

Замените matlabfunc с именем любой функции MATLAB (такой как isprime или sqrt). Замените *args с входными параметрами для функции MATLAB вы вызываете. Аргументы ключевого слова задают:

  • Количество выходных аргументов функция возвращается

  • Вызывает ли механизм функцию асинхронно

  • Куда механизм отправляет стандартный вывод и стандартную погрешность, прибывающую из функции

Задайте аргументы ключевого слова только при определении значений, которые не являются значениями по умолчанию, показанными в синтаксисе.

Входные параметры к функции MATLAB

АргументОписаниеТип Python

*args

Входные параметры к функции MATLAB, заданной как позиционные параметры

Любые типы Python, которые механизм может преобразовать в типы MATLAB

Аргументы ключевого слова к Engine

АргументОписаниеТип Python

nargout

Количество выходных аргументов от функции MATLAB

int

Значение по умолчанию: 1

background

Отметьте, чтобы вызвать функцию MATLAB асинхронно

background псевдоним для async. Однако для версии 3.7 Python, async ключевое слово и не может использоваться в качестве аргумента. Используйте background аргумент вместо async для всех поддерживаемых версий Python.

bool

По умолчанию: false

stdout

Стандартный вывод

StringIO.StringIO объект (Python 2.7)
io.StringIO объект (Python 3.x)

Значение по умолчанию: sys.stdout

stderr

Стандартная погрешность

StringIO.StringIO объект (Python 2.7)
io.StringIO объект (Python 3.x)

Значение по умолчанию: sys.stderr

Выходные аргументы

'OutputType' ОписаниеНеобходимые аргументы ключевого слова

Переменная Python

Один выходной аргумент от функции MATLAB

Значения по умолчанию

tuple

Несколько выходных аргументов от функции MATLAB

nargout=n (где n > 1)

None

Никакой выходной аргумент от функции MATLAB

nargout=0

FutureResult объект

Заполнитель для выходных аргументов от асинхронного вызова до функции MATLAB

background=True

Исключения

MatlabExecutionError

Вызову функции не удается выполниться

RejectedExecutionError

Движок MATLAB отключен

SyntaxError

Синтаксическая ошибка в вызове функции

TypeError

Тип данных аргумента ввода или вывода, не поддержанного

Атрибуты

workspace

Словарь Python, содержащий ссылки на переменные MATLAB. Можно присвоить данные и получить данные из, переменная MATLAB через workspace. Имя каждой переменной MATLAB, которую вы создаете, становится ключом в workspace словарь. Ключи в workspace должны быть допустимые идентификаторы MATLAB (например, вы не можете использовать числа в качестве ключей).

Примеры

свернуть все

Вызовите sqrt MATLAB функция из Python с помощью механизма.

import matlab.engine
eng = matlab.engine.start_matlab()
ret = eng.sqrt(4.0)
print(ret)
2.0

Создайте массив в Python и поместите его в рабочее пространство MATLAB.

import matlab.engine
eng = matlab.engine.start_matlab()
px = eng.linspace(0.0,6.28,1000)

px массив MATLAB, но eng.linspace возвращенный это в Python. Чтобы использовать его в MATLAB, поместите массив в рабочее пространство MATLAB.

eng.workspace['mx'] = px

Когда вы добавляете запись в механизм workspace словарь, вы создаете переменную MATLAB, также. Механизм преобразует данные в тип данных MATLAB.

Получите pi от рабочего пространства MATLAB и копии это к переменной Python.

import matlab.engine
eng = matlab.engine.start_matlab()
eng.eval('a = pi;',nargout=0)
mpi = eng.workspace['a']
print(mpi)
3.14159265359

Введенный в R2014b