English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MATLAB не требует никаких заявлений о типе или размерах. Каждый раз, когда MATLAB встречает новый переменный имя, он создает переменную и выделяет для нее соответствующее место в памяти.
Если переменная уже существует, MATLAB заменит ее новым содержимым и, при необходимости, выделит новое место для хранения.
Например,
Total = 42
Эта команда создает матрицу под именем 'Total' размером 1×1 и хранит в ней значение 42.
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
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