English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Типы данных MATLAB

MATLAB не требует никаких заявлений о типе или размерах. Каждый раз, когда MATLAB встречает новый переменный имя, он создает переменную и выделяет для нее соответствующее место в памяти.

Если переменная уже существует, MATLAB заменит ее новым содержимым и, при необходимости, выделит новое место для хранения.

Например,

Total = 42

Эта команда создает матрицу под именем 'Total' размером 1×1 и хранит в ней значение 42.

Доступные данные типа в MATLAB

MATLAB предоставляет 15 основных типов данных. Каждый тип данных хранит данные в виде матрицы или массива. Размер этой матрицы или массива может варьироваться от 0×0 до любого大小的 матрицы или массива.

В таблице ниже показаны наиболее常用的 данные типа в MATLAB-

НомерТип данных и описание
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, которые соответственно представляют true и false

12

Типы данных преобразования

Значения символьных данных (строки хранятся как вектор символов)

13

cell array

Массив ячеек индексов, каждая ячейка может хранить массив различных размеров и типов данных

14

structure

Структура, аналогичная C, у которой есть именованные поля массивов, способные хранить массивы различных размеров и типов данных

15

function handle

Указатели на функции

16

user classes

Объекты, созданные из класса пользователя

17

java classes

Объекты, созданные из класса Java

Пример

Создайте файл скрипта с помощью следующего кода-

str = 'Hello World!'
n = 2345
d = double(n)
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Преобразование числовых байтов в Unicode-символ
unicode2native

Преобразование Unicode-символа в числовые байты

base2decПреобразование N-основного строкового числа в десятичное число
bin2dec

Преобразование двоичного строкового числа в десятичное число

dec2baseПреобразование десятичных чисел в числа с N основанием в строке
dec2bin

Преобразование десятичных чисел в двоичные числа в строке

hex2decПреобразование десятичных чисел в шестнадцатеричные числа в строке
hex2numПреобразование шестнадцатеричных строковых чисел в двойные числа
num2hex

Преобразование одинарных и двойных чисел в шестнадцатеричные строковые строки IEEE

cell2matПреобразование массива ячеек в массив чисел
cell2struct

Преобразование массива ячеек в массив структур

cellstrСоздание массива ячеек строк из массива символов
mat2cellПреобразование массива в массив ячеек с возможными различиями в размерах
num2cell

Преобразование массива в массив ячеек одинакового размера

struct2cellПреобразование структуры в массив ячеек

Определение типа данных

MATLAB предоставляет различные функции для определения типа данных переменных.

Таблица ниже предоставляет функцию определения типа данных переменной-

Функция
Функция
isОбнаружение состояния
isaУточнение, является ли ввод объектом указанного класса
iscellУточнение, является ли ввод массивом ячеек
iscellstrУточнение, является ли ввод массивом ячеек строки
ischarУточнение, является ли проект массивом символов
isfieldОпределение того, является ли ввод полем структурного массива
isfloatОпределение того, является ли ввод массивом плавающих точек
ishghandle

Применяется для обработки графических объектов хендлеров

isintegerОпределение того, является ли ввод массивом целых чисел
isjavaОпределение того, является ли ввод объектом Java
islogicalОпределение того, является ли ввод массивом логических значений
isnumericОпределение того, является ли ввод массивом чисел
isobjectОпределение того, является ли ввод объектом MATLAB
isrealПроверка того, является ли ввод массивом действительных чисел
isscalarОпределение того, является ли ввод скаляром
isstrОпределение того, является ли ввод массивом символов
isstructОпределение того, является ли ввод структурным массивом
isvectorОпределение того, является ли ввод вектором
classОпределение класса объекта
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)

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

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