Существует множество различных типов данных или классов, с которыми можно работать в MATLAB ®. Можно создавать матрицы и массивы данных с плавающей запятой и целочисленных данных, символов и строк, логическихtrue и false значения и так далее. Обработчики функций связывают код с любой функцией MATLAB независимо от текущей области. Таблицы, расписания, структуры и массивы ячеек обеспечивают способ хранения различных типов данных в одном и том же контейнере.
В MATLAB 16 основных классов. Каждый из этих классов имеет форму матрицы или массива. За исключением дескрипторов функций, эта матрица или массив имеет минимальный размер 0 на 0 и может вырасти до n-мерного массива любого размера. Дескриптор функции всегда скаляр (1 на 1).
Все основные классы MATLAB показаны на диаграмме ниже:

Числовые классы в программном обеспечении MATLAB включают подписанные и неподписанные целые числа, а также числа с плавающей запятой с одинарной и двойной точностью. По умолчанию MATLAB сохраняет все числовые значения как плавающую точку с двойной точностью. (Тип и точность по умолчанию изменить нельзя.) Можно сохранить любое число или массив чисел в виде целых чисел или в виде одной точности. Целочисленные массивы и массивы с одной точностью обеспечивают более эффективное хранение данных, чем массивы с двойной точностью.
Все числовые типы поддерживают базовые операции с массивами, такие как подстрочный индекс, изменение формы и математические операции.
Можно создавать двухмерные double и logical матрицы, использующие один из двух форматов хранения: full или sparse. Для матриц с в основном нулевыми элементами разреженная матрица требует доли пространства хранения, необходимого для эквивалентной полной матрицы. Разреженные матрицы вызывают методы, специально приспособленные для решения разреженных задач.
Эти классы требуют различных объемов хранения, наименьшим из которых является logical значение или 8-битовое целое число, которое требует только 1 байт. Важно помнить об этом минимальном размере, если вы работаете с данными в файлах, написанных с точностью менее 8 бит.
В следующей таблице более подробно описаны основные классы.
Имя класса | Документация | Надлежащее использование |
|---|---|---|
double, single | Числа с плавающей запятой |
|
int8, uint8, int16, uint16, int32, uint32, int64, uint64 | Целые числа |
|
char, string | Символы и строки |
|
logical | Логические операции | |
function_handle | Дескрипторы функций |
|
table, timetable | Столы, Расписания |
|
struct | Структуры |
|
cell | Массивы ячеек |
|