Структура типов данных системы MATLAB представлена ниже:
Типы данных array и numeric являются виртуальными («кажущимися»), поскольку к ним нельзя отнести какие-либо переменные. Они служат для определения и комплектования некоторых типов данных. Таким образом, в MATLAB определены следующие основные типы данных, в общем случае представляющих собой многомерные массивы:
single — числовые массивы с числами одинарной точности;
double — числовые массивы с числами удвоенной точности;
char — строчные массивы с элементами-символами;
sparse — наследует свойства double, разреженные матрицы с элементами-числами удвоенной точности;
сеll — массивы ячеек; ячейки, в свою очередь, тоже могут быть массивами;
struct — массивы структур с полями, которые также могут содержать массивы;
function_handle — дескрипторы функций:
int32, uint32 — массивы 32-разрядных чисел со знаком и без знаков;
intl6,uint!6 — массивы 16-разрядных целых чисел со знаком и без знаков;
int8. uint8 — массивы 8-разрядных целых чисел со знаками и без знаков.
Кроме того, предусмотрен еще один тип данных — UserObject, который относится к типам данных (объектом), определяемым пользователем. Типы данных double, char и sparse были рассмотрены ранее, так что в этой главе будут детально рассмотрены оставшиеся типы. Что касается чисел класса uint8, то они представляют значения от 0 до 255 и занимают в памяти 1/8 часть от размера одного числа с двойной точностью. В основном этот тип данных применяется в служебных целях.
Каждому типу данных можно соотнести некоторые характерные для него операции, называемые методами. Дочерние типы данных, расположенные на приведенной диаграмме ниже родительских типов, наследуют от последних их методы, что является признаком наследования объектов. Поскольку в иерархии типов данных сверху находятся данные типа array, это значит, что все виды данных в MATLAB являются массивами.