ประเภทข้อมูล MATLAB: ทุกสิ่งที่คุณจำเป็นต้องรู้
เผยแพร่แล้ว: 2020-09-16MATLAB มีหลายวิธีในการจัดเก็บตัวเลขและตัวแปร ตัวเลขทั้งหมดเทียบเท่ากับจำนวนจริงที่เป็นตัวเลขจริง มีขีดจำกัดบนสำหรับจำนวนที่มากที่สุดและขีดจำกัดล่างสำหรับค่าสัมบูรณ์ของจำนวนที่ไม่ใช่ศูนย์ นี่เป็นเพราะหน่วยความจำจำกัดของอุปกรณ์ประมวลผลเมื่อเปรียบเทียบกับจำนวนจริง ซึ่งสามารถเป็นอนันต์ได้
เนื่องจากพื้นที่จำกัด ตัวแปร MATLAB จึงไม่สามารถเก็บจำนวนอตรรกยะได้ เช่น ค่าของ pi จะถูกส่งกลับเป็นค่าประมาณ ชุดของค่าที่แสดงในตัวแปร MATLAB มีขอบเขตจำกัด ชนิดข้อมูลใน MATLAB จะช่วยจัดการกับข้อจำกัดนี้
ตัวแปร MATLAB ทั้งหมดอยู่ในคลาสที่คลาสต่างๆ มีลักษณะที่แตกต่างกัน และเหมาะสมที่จะเป็นตัวแทนของข้อมูลประเภทต่างๆ ไม่ว่าจะเป็นตัวเลข ข้อความ หรือความซับซ้อน
ข้อควร จำ: องค์ประกอบที่กำหนดทั้งหมดในอาร์เรย์ควรเป็นประเภทเดียวกัน
MATLAB มีทั้งหมด 16 ประเภทพื้นฐาน และประเภทข้อมูลใน MATLAB ถูกกำหนดโดย
- ชุดของค่าที่กำหนด
- ชุดปฏิบัติการที่สามารถใช้ดำเนินการกับค่าเหล่านั้นได้

แหล่งที่มา

สารบัญ
ประเภทตัวเลข
ประเภทตัวเลขประกอบด้วยจำนวนเต็มที่มีเครื่องหมายและไม่ได้ลงนาม เลขทศนิยมแบบเดี่ยวและแบบคู่ที่มีความแม่นยำ ตัวแปรตัวเลขและคุณลักษณะต่างๆ แสดงไว้ด้านล่าง:
| สองเท่า | อาร์เรย์ที่มีความแม่นยำสองเท่า |
ตัวเลขติดลบ = -1.79769 x 10 308 และ -2.22507 x 10 -308 ตัวเลขบวก = 2.22507 x 10 -308 และ 1.79769 x 10 308 |
| เดี่ยว | อาร์เรย์ความแม่นยำเดียว |
ตัวเลขติดลบ = -1.79769 x 10 308 และ -2.22507 x 10 -308 ตัวเลขบวก = 2.22507 x 10 -308 และ 1.79769 x 10 308 |
| int8 | อาร์เรย์จำนวนเต็มแบบลงนาม 8 บิต |
|
| int16 | อาร์เรย์จำนวนเต็ม 16 บิตที่ลงนามแล้ว |
|
| int32 | อาร์เรย์จำนวนเต็มแบบลงนาม 32 บิต |
|
| int64 | อาร์เรย์จำนวนเต็มลงนาม 64 บิต |
|
| uint8 | อาร์เรย์จำนวนเต็ม 8 บิตที่ไม่ได้ลงนาม |
|
| uint16 | อาร์เรย์จำนวนเต็ม 16 บิตที่ไม่ได้ลงนาม |
|
| uint32 | อาร์เรย์จำนวนเต็มแบบไม่มีเครื่องหมาย 32 บิต |
|
| uint64 | อาร์เรย์จำนวนเต็มที่ไม่ได้ลงนาม 64 บิต |
|
อ่าน: ขณะวนซ้ำใน MATLAB: ทุกสิ่งที่คุณต้องรู้
ประเภทลอจิก
ค่าจริงและเท็จจะแสดงด้วยค่าตรรกะ 0 และ 1 ค่าตัวเลขใดๆ (ที่ไม่ซับซ้อน) สามารถแปลงเป็นการแทนค่าตรรกะได้
วากยสัมพันธ์ : L = ตรรกะ (x)
คำสั่งด้านบนแปลง x เป็นอาร์เรย์ของค่าตรรกะใดๆ องค์ประกอบที่ไม่ใช่ศูนย์ของ x ถูกแปลงเป็นค่าตรรกะ 1 (จริง) และค่าศูนย์จะถูกแปลงเป็นค่าตรรกะ 0 (เท็จ)
ตัวอักษรและประเภทสตริง
อักขระ MATLAB และอาร์เรย์สตริงให้การจัดเก็บข้อมูลข้อความ ลำดับของอักขระคืออาร์เรย์อักขระเทียบกับลำดับของตัวเลขที่เรียกว่าอาร์เรย์ตัวเลข
วากยสัมพันธ์ : c = 'up grad'
"up grad" คือลำดับของอักขระที่สร้างอาร์เรย์สตริง เราสามารถสังเกตสิ่งนี้ได้เช่นเดียวกับข้อความที่ห่อไว้
อาร์เรย์เซลล์
อาร์เรย์เซลล์เป็นชนิดข้อมูล MATLAB ซึ่งมีคอนเทนเนอร์ข้อมูลที่จัดทำดัชนีเรียก ว่า เซลล์ เซลล์ สามารถมีข้อมูลประเภทใดก็ได้ โดยทั่วไปประกอบด้วยเวกเตอร์อักขระที่มีความยาวต่างกัน ตัวเลข อาร์เรย์ของตัวเลขทุกขนาด ชุดของเซลล์อยู่ใน () และการเข้าถึงเซลล์ทำได้โดยใช้ {} ซึ่งใช้สำหรับสร้าง แก้ไข หรือลบฟังก์ชันเซลล์ใดๆ
วากยสัมพันธ์ : c = {s,m,i,l,e}
โต๊ะ
ข้อมูลแบบตารางหรือแบบคอลัมน์จำเป็นต้องมีตาราง และข้อมูลนี้ถูกจัดเก็บเป็นคอลัมน์ในไฟล์ข้อความหรือสเปรดชีต ประกอบด้วยตัวแปรแถวและคอลัมน์ ตัวแปรแต่ละตัวสามารถเป็นประเภทข้อมูลและขนาดต่างกันได้ แต่ตัวแปรแต่ละตัวต้องมีจำนวนแถวเท่ากัน
ช่วงของฟังก์ชันใช้เพื่อเข้าถึงข้อมูลเพื่อสร้าง แก้ไข และอ่านข้อมูลตาราง
โครงสร้าง
ฟิลด์ที่มีชื่อประกอบด้วยข้อมูลที่มีประเภทและขนาดต่างกัน ที่เก็บข้อมูลนี้ใช้เพื่อจัดกลุ่มข้อมูลที่เกี่ยวข้องและประเภทของข้อมูล ซึ่งเรียก ว่า ฟิลด์ ฟิลด์ อาจมีข้อมูลประเภทใดก็ได้
การเข้าถึงข้อมูลในโครงสร้างจะได้รับโดยใช้เครื่องหมายจุด
รูปแบบ: structname.fieldName
ตัวอย่าง:
โครงสร้างสเกลาร์ใช้ในการจัดเก็บบันทึกผู้ป่วยที่อยู่ในกลุ่มเดียวกัน
ผู้ป่วย(1).name = 'John Doe';

ผู้ป่วย(1).การเรียกเก็บเงิน = 127.00;
ผู้ป่วย(1).test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];
ฟังก์ชันจับ
การใช้ฟังก์ชันแฮนเดิลเป็นหลักในการส่งผ่านฟังก์ชัน (ตัวเลขหรืออักขระ) ไปยังฟังก์ชันอื่น ตัวแปรที่ใช้ในการเรียกใช้ฟังก์ชันทางอ้อมสามารถตั้งชื่อเป็น Function handle ได้
ในการสร้างตัวดำเนินการจัดการฟังก์ชัน '@' จะใช้
ตัวอย่าง: ในการสร้างตัวจัดการฟังก์ชันเพื่อประเมิน a2 -b2 ฟังก์ชันที่ใช้คือ:
F = @(a,b) (a.^2 – b.^2);
การระบุประเภทข้อมูล
MATLAB มีชุดของตัวแปรที่ใช้ระบุประเภทข้อมูล
| iscalendarduration | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์ระยะเวลาปฏิทิน |
| iscellstr | ตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์เซลล์เป็นเวกเตอร์อักขระหรือไม่ |
| iscell | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์เซลล์ |
| isjava | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นวัตถุ Java |
| ischar | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์อักขระ |
| เป็นหมวดหมู่ | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์หมวดหมู่หรือไม่ |
| การออก | วิธีตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์ระยะเวลาหรือไม่ |
| isenum | เพื่อตรวจสอบว่าตัวแปรเป็นการแจงนับหรือไม่ |
| isfloat | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์แบบทศนิยมหรือไม่ |
| isdatetime | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์วันที่และเวลา |
| isinteger | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์จำนวนเต็ม |
| istable | ตรวจสอบว่าข้อมูลที่ป้อนเป็นตารางหรือไม่ |
| isgraphics | True สำหรับการจัดการอ็อบเจ็กต์กราฟิกที่ถูกต้อง |
| เป็นตัวเลข | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์ตัวเลข |
| isobject | ตรวจสอบว่าข้อมูลที่ป้อนเป็นวัตถุ MATLAB หรือไม่ |
| isreal | เพื่อตรวจสอบว่าอาร์เรย์เป็นของจริงหรือไม่ |
| isstring | วิธีตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์สตริงหรือไม่ |
| isstruct | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นโครงสร้างอาร์เรย์ |
| ตรวจสอบแอตทริบิวต์ | ตรวจสอบความถูกต้องของอาร์เรย์ |
| istimetable | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นตารางเวลา |
| คือ | เพื่อตรวจสอบว่าข้อมูลที่ป้อนได้ระบุประเภทข้อมูลหรือไม่ |
| เป็นตรรกะ | เพื่อตรวจสอบว่าข้อมูลที่ป้อนเป็นอาร์เรย์แบบลอจิคัล |
| เป็น* | ตรวจจับสถานะ |
| ระดับ | คลาสของวัตถุ |
การแปลงประเภทข้อมูล
ฟังก์ชันต่อไปนี้ใช้เพื่อเปลี่ยนระหว่างชนิดข้อมูล MATLAB ต่างๆ อาร์เรย์ตัวเลข อาร์เรย์อักขระ อาร์เรย์เซลล์ โครงสร้าง หรือตาราง
ถ่าน – อาร์เรย์อักขระ
celltr – เพื่อเปลี่ยนเป็นอาร์เรย์เซลล์ของเวกเตอร์อักขระ
int2str – วิธีเปลี่ยนจำนวนเต็มเป็นตัวอักษร
mat2str – เปลี่ยนเมทริกซ์เป็นตัวอักษร
num2str – วิธีเปลี่ยนตัวเลขเป็นอาร์เรย์อักขระ
str2double – หากต้องการเปลี่ยนสตริงเป็นค่าความแม่นยำสองเท่า
str2num – วิธีเปลี่ยนอาร์เรย์อักขระหรือสตริงเป็นอาร์เรย์ตัวเลข
native2unicode – วิธีเปลี่ยนไบต์ตัวเลขเป็นการแสดงอักขระ Unicode
unicode2native – หากต้องการเปลี่ยนการแสดงอักขระ Unicode เป็นไบต์ตัวเลข
base2dec – วิธีเปลี่ยนข้อความที่แสดงตัวเลขในฐาน N เป็นเลขฐานสิบ
hex2dec – เมื่อต้องการเปลี่ยนการแสดงข้อความของเลขฐานสิบหกเป็นเลขฐานสิบ
hex2num – หากต้องการเปลี่ยนรูปแบบเลขฐานสิบหกของ IEEE เป็นตัวเลขความแม่นยำสองเท่า
num2hex – เมื่อต้องการเปลี่ยนตัวเลขแบบ single- และ double-precision เป็นรูปแบบเลขฐานสิบหกของ IEEE
table2array – เพื่อเปลี่ยนตารางเป็นอาร์เรย์ที่เป็นเนื้อเดียวกัน
table2cell – วิธีเปลี่ยนตารางเป็นอาร์เรย์เซลล์
table2struct – ในการเปลี่ยนตารางเป็นโครงสร้างอาร์เรย์
array2table – ในการเปลี่ยนอาร์เรย์ที่เป็นเนื้อเดียวกันเป็น table
cell2table – ในการเปลี่ยนอาร์เรย์เซลล์เป็น table
struct2table – หากต้องการเปลี่ยนโครงสร้างอาร์เรย์เป็น table
cell2mat – เมื่อต้องการเปลี่ยนอาร์เรย์เซลล์เป็นอาร์เรย์ธรรมดาของชนิดข้อมูลพื้นฐาน
cell2struct – ในการเปลี่ยนอาร์เรย์เซลล์เป็นโครงสร้างอาร์เรย์
mat2cell – หากต้องการเปลี่ยนอาร์เรย์เป็นอาร์เรย์เซลล์ที่เซลล์มีอาร์เรย์ย่อย
num2cell – หากต้องการเปลี่ยนอาร์เรย์เป็นอาร์เรย์เซลล์ด้วยเซลล์ที่มีขนาดสม่ำเสมอ
struct2cell – หากต้องการเปลี่ยนโครงสร้างเป็นอาร์เรย์เซลล์

อ่านเพิ่มเติม: การเรียกซ้ำในโครงสร้างข้อมูล: มันทำงานอย่างไร ประเภท & เมื่อใช้
บทสรุป
จากบทความข้างต้น เราได้ภาพรวมของประเภทข้อมูล MATLAB ต่างๆ ข้อมูลแต่ละประเภทเหล่านี้มีความจำเป็นอย่างมากสำหรับผู้ใช้ MATLAB ในการทำความเข้าใจและใช้การเขียนโปรแกรม MATLAB อย่างมีประสิทธิภาพ MATLAB ได้รับความนิยมอย่างมากในสาขาวิทยาศาสตร์และวิศวกรรมศาสตร์ เนื่องจากการคำนวณที่แม่นยำ ไวยากรณ์ และการสนับสนุนชุมชนขนาดใหญ่
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ MATLAB, แมชชีนเลิร์นนิง และหัวข้อที่เกี่ยวข้อง โปรดดูที่ IIIT-B & upGrad's PG Diploma in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง 30+ กรณีศึกษาและการมอบหมายงาน, สถานะศิษย์เก่า IIIT-B, โครงการหลักที่ปฏิบัติได้จริงมากกว่า 5 โครงการและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
ประเภทข้อมูลต่าง ๆ ที่ใช้ใน MATLAB คืออะไร?
ข้อมูลใน MATLAB อาจเป็นตัวเลขหรืออักขระก็ได้ ข้อมูลตัวเลขแสดงถึงค่าที่สอดคล้องกับตัวเลขและการดำเนินการทางคณิตศาสตร์ที่คุณคุ้นเคย เช่น การบวกและการคูณ ข้อมูลอักขระคือสตริงข้อความ เช่น คำ ตัวอักษร หรือสัญลักษณ์ (เช่น '$') องค์ประกอบของอาร์เรย์อักขระสามารถเข้าถึงได้โดยใช้รูปแบบเดียวกับข้อมูลที่เป็นตัวเลข (เช่น C('This is a character array') ส่งคืนองค์ประกอบของอาร์เรย์ C ที่มีสตริง นี่คืออาร์เรย์อักขระ)
โครงสร้างใน MATLAB คืออะไร?
MATLAB ประกอบด้วยโครงสร้างสามคลาส: อาร์เรย์เซลล์ โครงสร้าง และอาร์เรย์จัดการ อาร์เรย์เซลล์เป็นโครงสร้างข้อมูลเดียวที่มีองค์ประกอบประเภทต่างๆ จริงๆ แล้ว อาร์เรย์ของเซลล์คือกลุ่มของโครงสร้าง ซึ่งแต่ละองค์ประกอบประกอบด้วยหนึ่งองค์ประกอบของอาร์เรย์ หากคุณใช้ฟังก์ชัน cell() เพื่อสร้างอาร์เรย์เซลล์ MATLAB จะเติมอาร์เรย์ด้วยศูนย์ตามค่าเริ่มต้น โครงสร้างคือชุดของตัวแปรที่มีชื่อเหมือนกัน แต่อาจมีประเภทต่างกัน MATLAB จัดการ struct เป็นอาร์เรย์เซลล์ คุณสามารถจัดเก็บโครงสร้างเดียวในอาร์เรย์เซลล์ แฮนเดิลอาร์เรย์คือคอนเทนเนอร์สำหรับอ้างอิงไปยังอาร์เรย์ MATLAB อื่นๆ หรือไปยังอ็อบเจกต์ เช่น กราฟและตัวเลข คุณสามารถจัดเก็บอาร์เรย์ของแฮนเดิลหลายตัวในอาร์เรย์เซลล์
จะระบุประเภทข้อมูลใน MATLAB ได้อย่างไร?
สามารถทำได้โดยใช้คำสั่ง isa ใน matlab ไวยากรณ์ของคำสั่ง isa จะเป็นดังนี้: isa(my_data) ตัวอย่างเช่น หากคุณต้องการทราบชนิดข้อมูลของ my_data คุณสามารถใช้คำสั่ง isa เป็น: isa(my_data) ซึ่งจะส่งคืนข้อความต่อไปนี้: int64, int32, int16, uint8, uint32, uint64, complex64, complex128, char . คำสั่งนี้ใช้ใน MATLAB เท่านั้น
