Учебники

MATLAB — Типы данных

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

пример

Создайте файл сценария со следующим кодом —

Live Demo

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 Перечислите переменные в рабочей области, с размерами и типами

пример

Создайте файл сценария со следующим кодом —

Live Demo

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)

Когда вы запускаете файл, он дает следующий результат —