exponenta event banner

Вызов скомпилированной функции 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 объект, получающий выходные данные консоли. По умолчанию осуществляется прямой вывод на консоль.

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

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

Примечание

Если вы предоставляете менее 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]

Связанные темы