MATLAB не требует никакого объявления типа или операторов измерения. Всякий раз, когда MATLAB встречает новое имя переменной, он создает переменную и выделяет соответствующее пространство памяти.
Если переменная уже существует, то MATLAB заменяет исходный контент новым контентом и выделяет новое место для хранения, где это необходимо.
Например,
Total = 42
Вышеприведенный оператор создает матрицу 1 на 1 с именем «Total» и сохраняет в ней значение 42.
Типы данных, доступные в MATLAB
MATLAB предоставляет 15 основных типов данных. Каждый тип данных хранит данные в форме матрицы или массива. Размер этой матрицы или массива составляет минимум 0 на 0, и это может увеличиться до матрицы или массива любого размера.
В следующей таблице приведены наиболее часто используемые типы данных в MATLAB.
| Sr.No. | Тип данных и описание | 
|---|---|
| 1 | 
 int8 8-разрядное целое число со знаком  | 
| 2 | 
 uint8 8-битное целое число без знака  | 
| 3 | 
 int16 16-разрядное целое число со знаком  | 
| 4 | 
 uint16 16-разрядное целое число без знака  | 
| 5 | 
 int32 32-разрядное целое число со знаком  | 
| 6 | 
 uint32 32-разрядное целое число без знака  | 
| 7 | 
 int64 64-разрядное целое число со знаком  | 
| 8 | 
 uint64 64-разрядное целое число без знака  | 
| 9 | 
 не замужем числовые данные одинарной точности  | 
| 10 | 
 двойной числовые данные двойной точности  | 
| 11 | 
 логический логические значения 1 или 0, представляют истину и ложь соответственно  | 
| 12 | 
 голец символьные данные (строки хранятся как вектор символов)  | 
| 13 | 
 массив ячеек массив индексированных ячеек, каждая из которых может хранить массив другого измерения и типа данных  | 
| 14 | 
 состав C-подобные структуры, каждая структура имеет именованные поля, способные хранить массив другого измерения и типа данных  | 
| 15 | 
 ручка функции указатель на функцию  | 
| 16 | 
 пользовательские классы объекты, созданные из определенного пользователем класса  | 
| 17 | 
 Java-классы объекты, построенные из класса Java  | 
int8
8-разрядное целое число со знаком
uint8
8-битное целое число без знака
int16
16-разрядное целое число со знаком
uint16
16-разрядное целое число без знака
int32
32-разрядное целое число со знаком
uint32
32-разрядное целое число без знака
int64
64-разрядное целое число со знаком
uint64
64-разрядное целое число без знака
не замужем
числовые данные одинарной точности
двойной
числовые данные двойной точности
логический
логические значения 1 или 0, представляют истину и ложь соответственно
голец
символьные данные (строки хранятся как вектор символов)
массив ячеек
массив индексированных ячеек, каждая из которых может хранить массив другого измерения и типа данных
состав
C-подобные структуры, каждая структура имеет именованные поля, способные хранить массив другого измерения и типа данных
ручка функции
указатель на функцию
пользовательские классы
объекты, созданные из определенного пользователем класса
Java-классы
объекты, построенные из класса Java
пример
Создайте файл сценария со следующим кодом —
str = 'Hello World!' n = 2345 d = double(n) un = uint32(789.50) rn = 5678.92347 c = int32(rn)
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
str = Hello World! n = 2345 d = 2345 un = 790 rn = 5678.9 c = 5679
Преобразование типов данных
MATLAB предоставляет различные функции для преобразования значения из одного типа данных в другой. В следующей таблице приведены функции преобразования типов данных —
| функция | Цель | 
|---|---|
| голец | Преобразовать в массив символов (строку) | 
| int2str | Преобразовать целочисленные данные в строку | 
| mat2str | Преобразовать матрицу в строку | 
| num2str | Преобразовать число в строку | 
| str2double | Преобразовать строку в значение двойной точности | 
| str2num | Преобразовать строку в число | 
| native2unicode | Преобразуйте числовые байты в символы Юникода | 
| unicode2native | Преобразование символов Юникода в числовые байты | 
| base2dec | Преобразовать базовую N числовую строку в десятичное число | 
| BIN2DEC | Преобразовать строку двоичного числа в десятичное число | 
| dec2base | Преобразовать десятичное число в базовое число N в строке | 
| DEC2BIN | Преобразовать десятичное число в двоичное число в строке | 
| DEC2HEX | Преобразовать десятичное число в шестнадцатеричное число в строке | 
| HEX2DEC | Преобразовать строку шестнадцатеричного числа в десятичное число | 
| hex2num | Преобразовать строку шестнадцатеричного числа в число с двойной точностью | 
| num2hex | Преобразование одинарных и двойных символов в шестнадцатеричные строки IEEE | 
| cell2mat | Преобразовать массив ячеек в числовой массив | 
| cell2struct | Преобразовать массив ячеек в массив структур | 
| cellstr | Создать массив строк из массива символов | 
| mat2cell | Конвертировать массив в массив ячеек с потенциально разными размерами ячеек | 
| num2cell | Преобразовать массив в массив ячеек с ячейками одинакового размера | 
| struct2cell | Преобразовать структуру в массив ячеек | 
Определение типов данных
MATLAB предоставляет различные функции для определения типа данных переменной.
В следующей таблице приведены функции для определения типа данных переменной —
| функция | Цель | 
|---|---|
| является | Определить состояние | 
| это | Определите, является ли ввод объектом указанного класса | 
| iscell | Определите, является ли ввод массивом ячеек | 
| iscellstr | Определите, является ли ввод массивом строк | 
| ischar | Определить, является ли элемент массивом символов | 
| isfield | Определите, является ли входное поле структурным массивом | 
| isfloat | Определите, является ли ввод массивом с плавающей точкой | 
| ishghandle | Истинно для дескрипторов объектов Handle Graphics | 
| isinteger | Определите, является ли ввод целочисленным массивом | 
| isjava | Определите, является ли ввод Java-объектом | 
| ISLOGICAL | Определите, является ли ввод логическим массивом | 
| IsNumeric | Определите, является ли ввод числовым массивом | 
| IsObject | Определите, является ли ввод объектом MATLAB | 
| реально | Проверьте, является ли входной массив реальным | 
| isscalar | Определите, является ли вход скалярным | 
| isstr | Определите, является ли ввод символьным массивом | 
| isstruct | Определите, является ли ввод структурным массивом | 
| isvector | Определите, является ли входной вектор | 
| учебный класс | Определить класс объекта | 
| validateattributes | Проверьте правильность массива | 
| Whos | Перечислите переменные в рабочей области, с размерами и типами | 
пример
Создайте файл сценария со следующим кодом —
x = 3 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x = 23.54 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x = [1 2 3] isinteger(x) isfloat(x) isvector(x) isscalar(x) x = 'Hello' isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x)
Когда вы запускаете файл, он дает следующий результат —