Типы данных в MATLAB: Полное руководство с примерами
MATLAB не требует объявления типов или размерностей. При встрече нового имени переменной MATLAB создает её и выделяет память. Если переменная существует, её содержимое заменяется.
Пример:
Total = 42
Создается матрица 1x1 с именем 'Total' и значением 42.
Фундаментальные типы данных (15+)
Каждый тип хранит данные в виде матрицы/массива (мин. 0x0, макс. — любой размер).
| № | Тип данных и описание |
|---|---|
| 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 | single Одинарная точность (float) |
| 10 | double Двойная точность (по умолчанию) |
| 11 | logical Логические 1 (true) и 0 (false) |
| 12 | char Символьные данные (строки — вектор символов) |
| 13 | cell array Массив ячеек, каждая хранит массив любой размерности и типа |
| 14 | structure Структуры в стиле C: именованные поля с массивами разного типа/размера |
| 15 | function handle Указатель на функцию |
| 16 | user classes Объекты пользовательских классов |
| 17 | java classes Объекты 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
Функции преобразования типов
| Функция | Назначение |
|---|---|
| char | В символьный массив (строку) |
| int2str | Целое число → строку |
| mat2str | Матрицу → строку |
| num2str | Число → строку |
| str2double | Строку → double |
| str2num | Строку → число |
| native2unicode | Байты → Unicode символы |
| unicode2native | Unicode → байты |
| base2dec | Строка в базе N → десятичное число |
| bin2dec | Двоичная строка → десятичное |
| dec2base | Десятичное → строку в базе N |
| dec2bin | Десятичное → двоичную строку |
| dec2hex | Десятичное → шестнадцатеричную строку |
| hex2dec | Шестнадцатеричная строка → десятичное |
| hex2num | Шестнадцатеричная строка → double |
| num2hex | Single/double → IEEE hex строку |
| cell2mat | Cell-массив → числовой массив |
| cell2struct | Cell-массив → структурный массив |
| cellstr | Символьный массив → cell-массив строк |
| mat2cell | Массив → cell-массив с разными размерами ячеек |
| num2cell | Массив → cell-массив с одинаковыми размерами |
| struct2cell | Структура → cell-массив |
Определение типа данных переменной
| Функция | Назначение |
|---|---|
| is | Обнаружение состояния |
| isa | Является ли объект заданного класса |
| iscell | Является ли cell-массивом |
| iscellstr | Является ли cell-массивом строк |
| ischar | Является ли символьным массивом |
| isfield | Является ли полем структуры |
| isfloat | Является ли floating-point массивом |
| ishghandle | Handle Graphics объект |
| isinteger | Является ли целочисленным массивом |
| isjava | Является ли Java-объектом |
| islogical | Является ли логическим массивом |
| isnumeric | Является ли числовым массивом |
| isobject | Является ли MATLAB-объектом |
| isreal | Является ли вещественным массивом |
| isscalar | Является ли скаляром |
| isstr | Является ли символьным массивом |
| isstruct | Является ли структурным массивом |
| isvector | Является ли вектором |
| class | Класс объекта |
| validateattributes | Проверка валидности массива |
| whos | Переменные workspace с размерами и типами |
Пример проверки типов
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)
Результат (ans = 1 — true, 0 — false):
x = 3 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = 23.540 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = 1 2 3 ans = 0 ans = 1 ans = 1 ans = 0 x = Hello ans = 0 ans = 0 ans = 1 ans = 0 ans = 0
MATLAB
- Мастерство C# переменных и примитивных типов данных: полное руководство
- Понимание типов данных C++: основы, модификаторы и лучшие практики
- Типы данных в C: int, float, char и другие — полное руководство
- Освоение типов данных в Python: практическое руководство
- Примитивные типы данных в Java: полное руководство с примерами
- 5 моделей центров обработки данных: дизайн, кейсы и примеры
- Восемь ключевых моделей облачных вычислений 2021 года
- 8 распространённых типов утечек данных — реальные примеры и последствия
- Типы данных в C: полное руководство по целочисленным, вещественным и производным типам
- MATLAB: Комплексный обзор ведущей среды численных вычислений