MATLAB - ประเภทข้อมูล

MATLAB ไม่ต้องการการประกาศประเภทหรือคำสั่งมิติใด ๆ เมื่อใดก็ตามที่ MATLAB พบชื่อตัวแปรใหม่จะสร้างตัวแปรและจัดสรรพื้นที่หน่วยความจำที่เหมาะสม

หากมีตัวแปรอยู่แล้ว MATLAB จะแทนที่เนื้อหาเดิมด้วยเนื้อหาใหม่และจัดสรรพื้นที่จัดเก็บใหม่ตามความจำเป็น

ตัวอย่างเช่น,

Total = 42

ข้อความข้างต้นสร้างเมทริกซ์ 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 แทนค่าจริงและเท็จตามลำดับ

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 มีฟังก์ชันต่างๆสำหรับการแปลงค่าจากประเภทข้อมูลหนึ่งไปยังอีกประเภทหนึ่ง ตารางต่อไปนี้แสดงฟังก์ชันการแปลงชนิดข้อมูล -

ฟังก์ชัน วัตถุประสงค์
ถ่าน แปลงเป็นอาร์เรย์อักขระ (สตริง)
int2str แปลงข้อมูลจำนวนเต็มเป็นสตริง
mat2str แปลงเมทริกซ์เป็นสตริง
num2str แปลงตัวเลขเป็นสตริง
str2double แปลงสตริงเป็นค่าความแม่นยำสองเท่า
str2num แปลงสตริงเป็นตัวเลข
native2unicode แปลงไบต์ตัวเลขเป็นอักขระ Unicode
unicode2native แปลงอักขระ Unicode เป็นไบต์ตัวเลข
base2dec แปลงสตริงเลขฐาน N เป็นเลขฐานสิบ
bin2dec แปลงสตริงเลขฐานสองเป็นเลขฐานสิบ
dec2base แปลงทศนิยมเป็นเลขฐาน N ในสตริง
dec2bin แปลงทศนิยมเป็นเลขฐานสองในสตริง
dec2hex แปลงทศนิยมเป็นเลขฐานสิบหกในสตริง
hex2dec แปลงสตริงเลขฐานสิบหกเป็นเลขฐานสิบ
hex2num แปลงสตริงตัวเลขฐานสิบหกเป็นตัวเลขที่มีความแม่นยำสองเท่า
num2hex แปลงซิงเกิ้ลและคู่เป็นสตริงเลขฐานสิบหก IEEE
cell2mat แปลงอาร์เรย์ของเซลล์เป็นอาร์เรย์ตัวเลข
เซลล์ 2 สร้าง แปลงอาร์เรย์เซลล์เป็นอาร์เรย์โครงสร้าง
cellstr สร้างอาร์เรย์เซลล์ของสตริงจากอาร์เรย์อักขระ
mat2cell แปลงอาร์เรย์เป็นอาร์เรย์ของเซลล์ด้วยเซลล์ที่มีขนาดแตกต่างกัน
num2cell แปลงอาร์เรย์เป็นอาร์เรย์ของเซลล์ด้วยเซลล์ที่มีขนาดสม่ำเสมอ
โครงสร้าง 2 เซลล์ แปลงโครงสร้างเป็นอาร์เรย์ของเซลล์

การกำหนดประเภทข้อมูล

MATLAB มีฟังก์ชันต่างๆสำหรับการระบุชนิดข้อมูลของตัวแปร

ตารางต่อไปนี้มีฟังก์ชันสำหรับกำหนดชนิดข้อมูลของตัวแปร -

ฟังก์ชัน วัตถุประสงค์
คือ ตรวจจับสถานะ
คือ พิจารณาว่าอินพุตเป็นอ็อบเจ็กต์ของคลาสที่ระบุหรือไม่
iscell กำหนดว่าอินพุตเป็นอาร์เรย์ของเซลล์หรือไม่
iscellstr กำหนดว่าอินพุตเป็นอาร์เรย์ของสตริงของเซลล์หรือไม่
ischar กำหนดว่ารายการเป็นอาร์เรย์อักขระหรือไม่
isfield กำหนดว่าอินพุตเป็นฟิลด์อาร์เรย์โครงสร้างหรือไม่
ลอยอยู่ ตรวจสอบว่าอินพุตเป็นอาร์เรย์ทศนิยมหรือไม่
ishghandle True for Handle Graphics ที่จับวัตถุ
isinteger พิจารณาว่าอินพุตเป็นอาร์เรย์จำนวนเต็มหรือไม่
isjava ตรวจสอบว่าอินพุตเป็นวัตถุ Java หรือไม่
ไร้เหตุผล พิจารณาว่าอินพุตเป็นโลจิคัลอาร์เรย์หรือไม่
เป็นตัวเลข พิจารณาว่าอินพุตเป็นอาร์เรย์ตัวเลขหรือไม่
isobject ตรวจสอบว่าอินพุตเป็นวัตถุ MATLAB หรือไม่
เป็นจริง ตรวจสอบว่าอินพุตเป็นอาร์เรย์จริงหรือไม่
isscalar กำหนดว่าอินพุตเป็นสเกลาร์หรือไม่
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