Существует много типов данных, что можно работать с в MATLAB®. Каждый из этих типов данных в форме матрицы или массива. Можно создать матрицы и массивы и целочисленных данных с плавающей точкой, символов и строк и логических истинных и ложных состояний. Структуры и массивы ячеек обеспечивают способ сохранить отличающиеся типы данных в том же массиве.
Все основные классы MATLAB окружены в Фундаментальных типах данных MATLAB схемы.
Клиент Java® следует за Java-MATLAB-Interface (JMI) правила для маршалинга данных. Это расширяется, те правила для скалярного Java упаковали типы, позволив автоупаковку и распаковывание, которое не поддерживает JMI.
Указатели на функции не поддержаны MATLAB Production Server™.
Основные типы данных MATLAB
Ожидаемые результаты преобразования для Java к типам MATLAB перечислены в Преобразовании Типов Java к Типам MATLAB. Ожидаемые результаты преобразования для MATLAB к типам Java перечислены в Преобразовании Типов MATLAB к Типам Java.
Скалярные числовые типы MATLAB могут быть присвоены нескольким Java числовые типы, пока нет никакой потери данных или точности.
Основное исключение к этому правилу - то, что MATLAB скалярные данные double
может быть сопоставлен на любой Java числовой тип. Поскольку double
является числовым типом по умолчанию в MATLAB, это исключение предоставляет больше гибкости пользователям клиентского API MATLAB Production Server Java.
MATLAB на Java Числовое Соответствие типов описывает соответствие типов для скалярного числового приведения.
MATLAB на Java числовое соответствие типов
Тип MATLAB | Типы Java |
---|---|
uint8 | short , int , long , float , double |
int8 | short , int , long , float , double |
uint16 | int , long , float , double |
int16 | int , long , float , double |
uint32 | long , float , double |
int32 | long , float , double |
uint64 | float , double |
int64 | float , double |
single | double |
double | byte , short , int , long , float |
В MATLAB размерность является атрибутом фундаментальных типов и не добавляет к количеству типов, как это делает на Java.
На Java double
, double[]
и double[][][]
являются тремя различными типами данных. В MATLAB существует только тип данных double
и возможно скалярный экземпляр, векторный экземпляр или многомерный экземпляр.
Подпись Java | Значение возвращено из MATLAB |
---|---|
double[][][] foo() | ones(1,2,3) |
Как вы задаете свою функцию MATLAB, и соответствующая сигнатура метода Java определяет, будут ли ваши выходные данные принуждены, с помощью дополнения или усечения.
Это приведение автоматически выполняется для вас. В этом разделе описываются правила, сопровождаемые для дополнения и усечения.
Передающие массивы нуля (0
) размерности (иногда названный empties) приводят к пустой матрице из MATLAB.
Подпись Java | Значение возвращено из MATLAB |
---|---|
double[] foo() | [] |
Boxed Types используется, чтобы перенести непрозрачные структуры C.
Клиент Java выполнит примитивный к помещенному в коробку преобразованию типов, если помещенные в коробку типы будут использоваться, как возвращают типы в сигнатуре метода Java.
Подпись Java | Значение возвращено из MATLAB |
---|---|
Double foo() | 1.0 |
Например, следующие сигнатуры методов работают взаимозаменяемо:
double[] foo(); Double[] foo(); double[][][] foo(); Double[][][] foo();
Числовые классы в MATLAB включают целые числа со знаком и беззнаковое целое. Java не имеет типов без знака.