Вызовите скомпилированную функцию 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]