Вызов скомпилированного 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 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]