В Java® нет никакого прямого представления, доступного для массивов структур MATLAB® и массивов ячеек.
В результате, когда экземпляр MWStructArray
или MWCellArray
преобразован в собственный тип Java с помощью toArray()
метод, выходом является многомерный Object
массив, который может затруднить процесс.
Когда вы используете пакеты MATLAB Compiler SDK™ с RMI, однако, вы управляете, как сервер передает результаты обратно вызовов функции MATLAB клиента. Сервер может собираться упорядочить выход клиенту как MWArray
(com.mathworks.toolbox.javabuilder
пакет) подтип или как собственный тип данных Java. Представление собственного типа данных Java MWArray
подтипы получены путем вызова toArray()
метод сервером.
Используя собственные представления Java массивов структур MATLAB и массивов ячеек рекомендуется, если оба из них верны:
У вас есть функции MATLAB на сервере с struct MATLAB или типами данных ячейки как вводы или выводы
Вы не хотите или должны установить 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
.