Вызовите скомпилированную функцию MATLAB® использование объекта Python®, возвращенного в функцию initialize().
result1,...resultN = my_client.function_name(in_args, nargout=nargs,
stdout=out_stream,
stderr=err_stream)my_client — Имя объекта возвращено в initialize()
functionName Имя функции, чтобы вызвать
in_args — Список, разделенный запятыми входных параметров
nargs — Количество ожидаемых результатов. Значением по умолчанию является 1.
Объект out_stream — Python StringIO, получающий консоль, выводится. Значение по умолчанию должно направить вывод к консоли.
Объект err_stream — Python StringIO, получающий вывод ошибок. Значение по умолчанию должно направить вывод к консоли.
Каждая переменная на левой стороне вызова функции заполняется с одним возвращаемым значением.
Если вы обеспечиваете меньше, чем переменные nargs на левой стороне вызова функции, последняя перечисленная переменная содержит список остающихся результатов. Например,
result1, result2 = myMagic.triple(5,nargout=3)
листы result1, содержащий одно значение и result2, содержащий список с двумя значениями.
Чтобы вызвать функцию 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 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]