MATLAB — типы данных
MATLAB не требует объявления типов или операторов размеров. Всякий раз, когда MATLAB встречает новое имя переменной, он создает переменную и выделяет соответствующее пространство памяти.
Если переменная уже существует, MATLAB заменяет исходное содержимое новым и выделяет новое пространство для хранения, где это необходимо.
Например,
Total = 42
Приведенный выше оператор создает матрицу 1 на 1 с именем «Итого» и сохраняет в ней значение 42.
Типы данных, доступные в MATLAB
MATLAB предоставляет 15 основных типов данных. Каждый тип данных хранит данные в форме матрицы или массива. Размер этой матрицы или массива — минимум 0 на 0, и он может увеличиваться до матрицы или массива любого размера.
В следующей таблице показаны наиболее часто используемые типы данных в MATLAB —
| Сер.№ | Тип данных и описание |
|---|---|
| 1 | <тд>|
| 2 | <тд>|
| 3 | <тд>|
| 4 | <тд>|
| 5 | <тд>|
| 6 | <тд>|
| 7 | <тд>|
| 8 | <тд>|
| 9 | <тд>|
| 10 | <тд>|
| 11 | <тд>|
| 12 | <тд>|
| 13 | <тд>|
| 14 | <тд>|
| 15 | <тд>|
| 16 | <тд>|
| 17 | <тд>
Пример
Создайте файл сценария со следующим кодом —
Живая демонстрация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 | Преобразование числовых байтов в символы Unicode |
| unicode2native | Преобразование символов Unicode в числовые байты |
| base2dec | Преобразование строки числа с основанием N в десятичное число |
| bin2dec | Преобразование строки двоичного числа в десятичное число |
| dec2base | Преобразовать десятичное число в основание N в строке |
| dec2bin | Преобразовать десятичное число в двоичное в строке |
| dec2hex | Преобразовать десятичное число в шестнадцатеричное в строке |
| hex2dec | Преобразовать строку шестнадцатеричного числа в десятичное число |
| hex2num | Преобразование строки шестнадцатеричного числа в число двойной точности |
| num2hex | Преобразование одиночных и двойных чисел в шестнадцатеричные строки IEEE |
| cell2mat | Преобразовать массив ячеек в числовой массив |
| cell2struct | Преобразовать массив ячеек в массив структур |
| cellstr | Создать массив ячеек строк из массива символов |
| mat2cell | Преобразование массива в массив ячеек с потенциально разным размером ячеек |
| num2cell | Преобразование массива в массив ячеек с ячейками одинакового размера |
| struct2cell | Преобразовать структуру в массив ячеек |
Определение типов данных
MATLAB предоставляет различные функции для определения типа данных переменной.
В следующей таблице представлены функции для определения типа данных переменной —
| Функция | Цель |
|---|---|
| является | Определить состояние |
| Иса | Определить, является ли ввод объектом указанного класса |
| iscell | Определить, является ли ввод массивом ячеек |
| iscellstr | Определить, является ли ввод массивом ячеек из строк |
| исчар | Определить, является ли элемент массивом символов |
| isfield | Определить, является ли ввод полем массива структур |
| поплавок | Определить, является ли ввод массивом с плавающей запятой |
| ишгандл | Верно для дескрипторов объекта Handle Graphics |
| целое число | Определить, является ли ввод массивом целых чисел |
| isjava | Определить, является ли ввод Java-объектом |
| логично | Определить, является ли ввод логическим массивом |
| число | Определить, является ли ввод числовым массивом |
| изообъект | Определить, является ли ввод объектом MATLAB |
| реален | Проверить, является ли ввод реальным массивом |
| исскаляр | Определить, является ли ввод скалярным |
| исстр | Определить, является ли ввод массивом символов |
| структура | Определить, является ли ввод массивом структур |
| исвектор | Определить, являются ли входные данные векторными |
| класс | Определить класс объекта |
| проверить атрибуты | Проверить правильность массива |
| кто | Список переменных в рабочей области с размерами и типами |
Пример
Создайте файл сценария со следующим кодом —
Живая демонстрация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)
Когда вы запускаете файл, он дает следующий результат —
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 Типы данных
- Типы данных Python
- Типы данных Java (примитивные)
- 5 различных типов центров обработки данных [с примерами]
- 8 различных типов облачных вычислений в 2021 году
- 8 различных типов утечек данных с примерами
- C — Типы данных
- MATLAB — Обзор