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

single

числовые данные одинарной точности

10

double

числовые данные двойной точности

11

logical

логические значения 1 или 0 представляют истину и ложь соответственно

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

Преобразование типов данных

MATLAB предоставляет различные функции для преобразования значения из одного типа данных в другой. В следующей таблице показаны функции преобразования типов данных -

Функция Цель
char Преобразовать в символьный массив (строку)
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 Истина для дескрипторов объектов графики
целое число Определите, является ли ввод целочисленным массивом
Isjava Определите, является ли ввод объектом Java
логичен Определите, является ли ввод логическим массивом
нечисловой Определите, является ли ввод числовым массивом
изобъект Определите, является ли ввод объектом MATLAB
это реально Проверьте, является ли ввод реальным массивом
Искаляр Определите, является ли ввод скалярным
isstr Определите, является ли ввод массивом символов
строить Определите, является ли ввод структурным массивом
isvector Определите, является ли ввод векторным
класс Определить класс объекта
проверить атрибуты Проверить валидность массива
кто Список переменных в рабочей области с размерами и типами

пример

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

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