exponenta event banner

Зачем использовать собственные массивы ячеек и структурные массивы?

В Java ® нет прямого представления для массивов структуры MATLAB ® и массивов ячеек.

В результате, когда экземпляр MWStructArray или MWCellArray преобразуется в собственный тип Java с помощью toArray() выход является многомерным Object массив, который может быть трудно обработать.

Однако при использовании пакетов SDK™ компилятора MATLAB с RMI можно управлять тем, как сервер отправляет клиенту результаты вызовов функции MATLAB. Сервер может быть настроен на передачу выходных данных клиенту в виде MWArray (com.mathworks.toolbox.javabuilder пакет) подтип или как собственный тип данных Java. Представление собственного типа данных Java MWArray подтипы получаются путем вызова toArray() методом сервера.

Использование собственных представлений структуры MATLAB и массивов ячеек на Java рекомендуется в том случае, если оба эти представления верны:

  • На сервере имеются функции MATLAB со структурой MATLAB или типами данных ячейки в качестве входных или выходных данных.

  • Установка среды выполнения MATLAB на клиентских компьютерах не требуется и не требуется

Использование собственных типов не требует выполнения MATLAB на стороне клиента

Классы в com.mathworks.extern.java пакет (в javabuilder.jar) не требуется среда выполнения MATLAB. Имена классов в этом пакете совпадают с именами в com.mathworks.toolbox.javabuilder - позволяет конечному пользователю легко создавать экземпляры com.mathworks.extern.java.MWStructArray или com.mathworks.extern.java.MWCellArray , которые работают так же, как классы с одинаковыми именами в com.mathworks.toolbox.javabuilder - на машине, не имеющей среды выполнения MATLAB.

Доступность среды выполнения MATLAB на клиентской машине определяет, как сервер должен быть настроен для выполнения функций MATLAB, поскольку MWArray иерархия классов может использоваться только со средой выполнения MATLAB. Если клиентская машина не имеет доступной среды выполнения MATLAB, сервер возвращает выходные данные toArray() для массивов ячеек или структур в качестве экземпляров com.mathworks.extern.java.MWStructArray или com.mathworks.extern.java.MWCellArray.