Активируйте скомпилированную функцию MATLAB

Вызов скомпилированного MATLAB® функция, использующая Python® объект, возвращенный из initialize() функция.

result1,...resultN = my_client.function_name(in_args, nargout=nargs,
                                             stdout=out_stream,
                                             stderr=err_stream)
  • my_client - Имя объекта, возвращенного из initialize()

  • function_name - Имя функции, которую нужно вызвать

  • in_args - Разделенный запятыми список входных аргументов

  • nargs - Количество ожидаемых результатов. Значение по умолчанию 1.

  • out_stream - StringIO Python объект, получающий выходные данные консоли. Значение по умолчанию является прямым выходом на консоль.

  • err_stream - StringIO Python объект получает вывод ошибки. Значение по умолчанию является прямым выходом на консоль.

Каждая переменная на левой стороне вызова функции заполняется одним возвращаемым значением.

Примечание

Если вы предоставляете меньше nargs переменные на левой стороне вызова функции, последняя перечисленная переменная содержит список остальных результатов. Для примера

result1, result2 = myMagic.triple(5,nargout=3)

листья result1 содержащее одно значение и result2 содержащего список с двумя значениями.

Вызов функции MATLAB с одним выходом

Чтобы вызвать функцию MATLAB result = mutate(m1, m2, m3) из пакета mutations, вы используете этот код:

import mutations
import matlab

myMutator = mutations.initialize()

m1 = matlab.double([1,2,3])
m2 = matlab.double([10,20,30])
m3 = matlab.double([100,200,300])

result = myMutator.mutate(m1,m2,m3)

Вызов функции MATLAB с нулевыми выходами

Чтобы вызвать функцию MATLAB mutate(m1,m2,m3) из пакета mutations, вы используете этот код:

import mutations
import matlab

myMutator = mutations.initialize()

m1 = matlab.double([1,2,3])
m2 = matlab.double([10,20,30])
m3 = matlab.double([100,200,300])

myMutator.mutate(m1,m2,m3,nargout=0)

Получение нескольких результатов как отдельных переменных

Чтобы вызвать функцию MATLAB c1,c2 = copy(o1,o2) из пакета copier, используйте этот код:

>>> import copier
>>> import matlab
>>> myCopier = copier.initialize()
>>> c1,c2 = myCopier.copy("blue",10,nargout=2)
>>> print(c1)
"blue"
>>> print(c2)
10

Получение нескольких результатов как одного объекта

Чтобы вызвать функцию MATLAB copies = copy(o1,o2) из пакета copier, используйте этот код:

>>> import copier
>>> import matlab
>>> myCopier = copier.initialize()
>>> copies = myCopier.copy("blue",10,nargout=2)
>>> print(copies)
["blue",10]

Похожие темы