В Java®, нет прямого представления для MATLAB® структурировать массивы и массивы ячеек.
В результате, когда образец MWStructArray
или MWCellArray
преобразуется в собственный тип Java с помощью toArray()
метод, выходы являются многомерными Object
массив, который может оказаться трудным для обработки.
При использовании пакетов MATLAB Compiler SDK™ с RMI, однако, у вас есть контроль над тем, как сервер отправляет результаты вызовов функции MATLAB обратно клиенту. Сервер может быть настроен, чтобы маршалить выход на клиент как MWArray
(com.mathworks.toolbox.javabuilder
пакет) подтипа или как собственного типа данных Java. Представление типа данных Java MWArray
подтипы получаются путем вызова toArray()
метод сервером.
Использование собственных представлений MATLAB struct и массивов ячеек Java рекомендуется, если оба из них имеют значение true:
У вас есть функции MATLAB на сервере с типами данных struct или камера в качестве входов или выходов
Вы не хотите или не должны устанавливать MATLAB Runtime на свои клиентские компьютеры
Классы в com.mathworks.extern.java
пакет (в javabuilder.jar
) не нужно время MATLAB Runtime. Имена классов в этом пакете совпадают с именами в com.mathworks.toolbox.javabuilder
- позволяет конечному пользователю легко создавать образцы com.mathworks.extern.java.MWStructArray
или com.mathworks.extern.java.MWCellArray
которые работают так же, как и одноименные классы в com.mathworks.toolbox.javabuilder
- на компьютере, который не имеет MATLAB Runtime.
Доступность среды MATLAB Runtime на клиентской машине диктует, как сервер должен быть установлен для маршалинга функций MATLAB, так как MWArray
иерархия классов может использоваться только во MATLAB Runtime. Если клиентская машина не имеет доступного MATLAB Runtime, сервер возвращает выход toArray()
для камер или массивов структур как образцов com.mathworks.extern.java.MWStructArray
или com.mathworks.extern.java.MWCellArray
.