matlab::data::ArrayType

Класс перечисления типов массивов C++

Описание

Использование ArrayType объекты для идентификации типа данных и других атрибутов MATLAB® массив.

Информации о классе

Пространство имен:

matlab::data

Включите:

ArrayType.hpp

Перечисление

enum class ArrayType {
    UNKNOWN,
    LOGICAL,
    CHAR,
    DOUBLE,
    SINGLE,
    INT8,
    UINT8,
    INT16,
    UINT16,
    INT32,
    UINT32,
    INT64,
    UINT64,
    COMPLEX_DOUBLE,
    COMPLEX_SINGLE,
    COMPLEX_INT8,
    COMPLEX_UINT8,
    COMPLEX_INT16,
    COMPLEX_UINT16,
    COMPLEX_INT32,
    COMPLEX_UINT32,
    COMPLEX_INT64,
    COMPLEX_UINT64,
    CELL,
    STRUCT,
    VALUE_OBJECT,
    HANDLE_OBJECT_REF,
    ENUM,
    SPARSE_LOGICAL,
    SPARSE_DOUBLE,
    SPARSE_COMPLEX_DOUBLE,
    MATLAB_STRING
};

Преобразование типа данных C++

Значение MATLAB ArrayType

Тип C++Описание
DOUBLE

дважды

двойная точность (64-разрядная), число с плавающей запятой

SINGLE

плавание

одинарная точность (32-битный), число с плавающей запятой

INT8

int8_t

8-битное целое число со знаком

UINT8

uint8_t

беззнаковое 8-битное целое число

INT16

int16_t

16-битное целое число со знаком

UINT16

uint16_t

беззнаковое 16-битное целое число

INT32

int32_t

32-битное целое число со знаком

UINT32

uint32_t

беззнаковое 32-битное целое число

INT64

int64_t

64-битное целое число со знаком

UINT64

uint64_t

беззнаковое 64-битное целое число

CHAR

char16_t

16-битный символ

LOGICAL

bool

логичный

COMPLEX_DOUBLE

std:: complex < double >

комплексная, двойная точность (64-разрядная), число с плавающей запятой

COMPLEX_SINGLE

std:: complex < float >

комплексная, одинарная точность (32-разрядная), число с плавающей запятой

COMPLEX_INT8

std:: complex < int8 _ t >

комплексный, со знаком 8-битное целое число

COMPLEX_UINT8

std:: complex < uint8 _ t >

комплексное, беззнаковое 8-битное целое число

COMPLEX_INT16

std:: complex < int16 _ t >

комплексный, со знаком 16-битное целое число

COMPLEX_UINT16

std:: complex < uint16 _ t >

комплексное, беззнаковое 16-битное целое число

COMPLEX_INT32

std:: complex < int32 _ t >

комплексное, со знаком 32-битное целое число

COMPLEX_UINT32

std:: complex < uint32 _ t >

комплексное, беззнаковое 32-битное целое число

COMPLEX_INT64

std:: complex < int64 _ t >

комплексное, со знаком 64-битное целое число

COMPLEX_UINT64

std:: complex < uint64 _ t >

комплексное, беззнаковое 64-битное целое число

CELL

matlab::data::Array

Массив, содержащий другие массивы

STRUCT

matlab::data::Struct

Массив с именованными полями, которые могут содержать данные различных типов и размеров

VALUE_OBJECT

matlab::data::Object

Объект значения MATLAB

HANDLE_OBJECT_REF

matlab::data::Object

Ссылка на существующий указатель объекта в MATLAB

ENUM

matlab::data::Enumeration

Массив значений перечисления

SPARSE_LOGICAL

bool

Разреженный массив логических

SPARSE_DOUBLE

дважды

Разреженный массив double

SPARSE_COMPLEX_DOUBLE

std:: complex < double >

Разреженный массив комплексного двойника

MATLAB_STRING

matlab::data::MATLABString

Строка MATLAB

Примеры

Тестовый массив для COMPLEX_DOUBLE Напечатать

Предположим, что у вас есть массив, объявленный следующим образом.

matlab::data::TypedArray<double> const argArray

После того, как вы задаете значения для argArray, вызовите sqrt функция.

matlab::data::Array const tresults = matlabPtr->feval(u"sqrt", argArray);

Эти операторы проверяют результат на тип COMPLEX_DOUBLE и затем установите тип массива.

matlab::data::TypedArray<std::complex<double>> results = factory.createEmptyArray(); 
matlab::data::ArrayType type = tresults.getType(); 
if (type == matlab::data::ArrayType::COMPLEX_DOUBLE) 
    results = (matlab::data::TypedArray<std::complex<double>>) tresults; 
else 
    std::cout << "ERROR: complex double array expected." << std::endl;
Введенный в R2017b