MATLAB - Loại dữ liệu

MATLAB không yêu cầu bất kỳ khai báo kiểu hoặc câu lệnh thứ nguyên nào. Bất cứ khi nào MATLAB gặp một tên biến mới, nó sẽ tạo biến đó và cấp phát không gian bộ nhớ thích hợp.

Nếu biến đã tồn tại, thì MATLAB sẽ thay thế nội dung gốc bằng nội dung mới và phân bổ không gian lưu trữ mới, nếu cần.

Ví dụ,

Total = 42

Câu lệnh trên tạo một ma trận 1 x 1 có tên là 'Tổng' và lưu giá trị 42 trong đó.

Các loại dữ liệu có sẵn trong MATLAB

MATLAB cung cấp 15 kiểu dữ liệu cơ bản. Mọi kiểu dữ liệu đều lưu trữ dữ liệu ở dạng ma trận hoặc mảng. Kích thước của ma trận hoặc mảng này tối thiểu là 0 x 0 và kích thước này có thể tăng lên thành ma trận hoặc mảng có kích thước bất kỳ.

Bảng sau đây cho thấy các kiểu dữ liệu được sử dụng phổ biến nhất trong MATLAB:

Sr.No. Loại dữ liệu & Mô tả
1

int8

Số nguyên có dấu 8 bit

2

uint8

Số nguyên không dấu 8 bit

3

int16

Số nguyên có dấu 16 bit

4

uint16

Số nguyên không dấu 16 bit

5

int32

Số nguyên có dấu 32 bit

6

uint32

Số nguyên không dấu 32 bit

7

int64

Số nguyên có dấu 64 bit

số 8

uint64

Số nguyên không dấu 64 bit

9

single

dữ liệu số chính xác đơn

10

double

dữ liệu số chính xác kép

11

logical

giá trị lôgic của 1 hoặc 0, đại diện cho đúng và sai tương ứng

12

char

dữ liệu ký tự (chuỗi được lưu trữ dưới dạng vectơ của ký tự)

13

cell array

mảng các ô được lập chỉ mục, mỗi ô có khả năng lưu trữ một mảng có kích thước và kiểu dữ liệu khác nhau

14

structure

Cấu trúc giống C, mỗi cấu trúc có các trường được đặt tên có khả năng lưu trữ một mảng có kích thước và kiểu dữ liệu khác nhau

15

function handle

con trỏ đến một hàm

16

user classes

các đối tượng được xây dựng từ một lớp do người dùng xác định

17

java classes

các đối tượng được xây dựng từ một lớp Java

Thí dụ

Tạo tệp kịch bản với mã sau:

str = 'Hello World!'
n = 2345
d = double(n)
un = uint32(789.50)
rn = 5678.92347
c = int32(rn)

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

str = Hello World!
n =  2345
d =  2345
un = 790
rn = 5678.9
c =  5679

Chuyển đổi loại dữ liệu

MATLAB cung cấp các chức năng khác nhau để chuyển đổi, một giá trị từ kiểu dữ liệu này sang kiểu dữ liệu khác. Bảng sau đây cho thấy các hàm chuyển đổi kiểu dữ liệu:

Chức năng Mục đích
char Chuyển đổi thành mảng ký tự (chuỗi)
int2str Chuyển đổi dữ liệu số nguyên thành chuỗi
mat2str Chuyển đổi ma trận thành chuỗi
num2str Chuyển đổi số thành chuỗi
str2double Chuyển đổi chuỗi thành giá trị chính xác kép
str2num Chuyển chuỗi thành số
native2unicode Chuyển đổi byte số thành ký tự Unicode
unicode2native Chuyển đổi các ký tự Unicode sang byte số
base2dec Chuyển chuỗi số cơ sở N thành số thập phân
bin2dec Chuyển đổi chuỗi số nhị phân thành số thập phân
dec2base Chuyển đổi số thập phân sang số cơ số N trong chuỗi
dec2bin Chuyển đổi số thập phân sang số nhị phân trong chuỗi
dec2hex Chuyển đổi số thập phân sang số thập lục phân trong chuỗi
hex2dec Chuyển đổi chuỗi số thập lục phân thành số thập phân
hex2num Chuyển đổi chuỗi số thập lục phân thành số chính xác kép
num2hex Chuyển đổi đơn và đôi sang chuỗi thập lục phân IEEE
cell2mat Chuyển đổi mảng ô thành mảng số
cell2struct Chuyển đổi mảng ô thành mảng cấu trúc
cellstr Tạo mảng ô của chuỗi từ mảng ký tự
mat2cell Chuyển đổi mảng thành mảng ô với các ô có kích thước khác nhau
num2cell Chuyển đổi mảng thành mảng ô với các ô có kích thước nhất quán
struct2cell Chuyển đổi cấu trúc thành mảng ô

Xác định kiểu dữ liệu

MATLAB cung cấp các chức năng khác nhau để xác định kiểu dữ liệu của một biến.

Bảng sau cung cấp các hàm để xác định kiểu dữ liệu của một biến:

Chức năng Mục đích
Phát hiện trạng thái
là một Xác định xem đầu vào có phải là đối tượng của lớp được chỉ định hay không
iscell Xác định xem đầu vào có phải là mảng ô hay không
iscellstr Xác định xem đầu vào có phải là mảng ô của chuỗi không
ischar Xác định xem mục có phải là mảng ký tự không
isfield Xác định xem đầu vào có phải là trường mảng cấu trúc hay không
isfloat Xác định xem đầu vào có phải là mảng dấu phẩy động không
ishghandle True for Handle Graphics đối tượng xử lý
isinteger Xác định xem đầu vào là mảng số nguyên
isjava Xác định xem đầu vào là đối tượng Java
thần học Xác định xem đầu vào có phải là mảng logic không
isnumeric Xác định xem đầu vào là mảng số
isobject Xác định xem đầu vào là đối tượng MATLAB
là thật Kiểm tra xem đầu vào có phải là mảng thực không
Isscalar Xác định xem đầu vào có vô hướng không
isstr Xác định xem đầu vào là mảng ký tự
cấu trúc Xác định xem đầu vào là mảng cấu trúc
isvector Xác định xem đầu vào là vectơ
lớp học Xác định lớp đối tượng
xác thực Kiểm tra tính hợp lệ của mảng
ai Liệt kê các biến trong không gian làm việc, với kích thước và kiểu

Thí dụ

Tạo tệp kịch bản với mã sau:

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)

Khi bạn chạy tệp, nó tạo ra kết quả sau:

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