ประเภทข้อมูล MATLAB: ทุกสิ่งที่คุณจำเป็นต้องรู้

เผยแพร่แล้ว: 2020-09-16

MATLAB มีหลายวิธีในการจัดเก็บตัวเลขและตัวแปร ตัวเลขทั้งหมดเทียบเท่ากับจำนวนจริงที่เป็นตัวเลขจริง มีขีดจำกัดบนสำหรับจำนวนที่มากที่สุดและขีดจำกัดล่างสำหรับค่าสัมบูรณ์ของจำนวนที่ไม่ใช่ศูนย์ นี่เป็นเพราะหน่วยความจำจำกัดของอุปกรณ์ประมวลผลเมื่อเปรียบเทียบกับจำนวนจริง ซึ่งสามารถเป็นอนันต์ได้

เนื่องจากพื้นที่จำกัด ตัวแปร MATLAB จึงไม่สามารถเก็บจำนวนอตรรกยะได้ เช่น ค่าของ pi จะถูกส่งกลับเป็นค่าประมาณ ชุดของค่าที่แสดงในตัวแปร MATLAB มีขอบเขตจำกัด ชนิดข้อมูลใน MATLAB จะช่วยจัดการกับข้อจำกัดนี้

ตัวแปร MATLAB ทั้งหมดอยู่ในคลาสที่คลาสต่างๆ มีลักษณะที่แตกต่างกัน และเหมาะสมที่จะเป็นตัวแทนของข้อมูลประเภทต่างๆ ไม่ว่าจะเป็นตัวเลข ข้อความ หรือความซับซ้อน

ข้อควร จำ: องค์ประกอบที่กำหนดทั้งหมดในอาร์เรย์ควรเป็นประเภทเดียวกัน

MATLAB มีทั้งหมด 16 ประเภทพื้นฐาน และประเภทข้อมูลใน MATLAB ถูกกำหนดโดย

  • ชุดของค่าที่กำหนด
  • ชุดปฏิบัติการที่สามารถใช้ดำเนินการกับค่าเหล่านั้นได้

แหล่งที่มา

สารบัญ

ประเภทตัวเลข

ประเภทตัวเลขประกอบด้วยจำนวนเต็มที่มีเครื่องหมายและไม่ได้ลงนาม เลขทศนิยมแบบเดี่ยวและแบบคู่ที่มีความแม่นยำ ตัวแปรตัวเลขและคุณลักษณะต่างๆ แสดงไว้ด้านล่าง:

สองเท่า อาร์เรย์ที่มีความแม่นยำสองเท่า
  • ชนิดข้อมูลตัวเลขเริ่มต้น (คลาส) ใน MATLAB
  • จัดเก็บเป็นค่าทศนิยม 64 บิต (8 ไบต์)
  • พิสัย-

ตัวเลขติดลบ = -1.79769 x 10 308 และ -2.22507 x 10 -308

ตัวเลขบวก = 2.22507 x 10 -308 และ 1.79769 x 10 308

เดี่ยว อาร์เรย์ความแม่นยำเดียว
  • จัดเก็บเป็นค่าทศนิยม 4 ไบต์ (32 บิต)
  • พิสัย-

ตัวเลขติดลบ = -1.79769 x 10 308 และ -2.22507 x 10 -308

ตัวเลขบวก = 2.22507 x 10 -308 และ 1.79769 x 10 308

int8 อาร์เรย์จำนวนเต็มแบบลงนาม 8 บิต
  • จัดเก็บเป็นจำนวนเต็มที่ลงนาม 1 ไบต์ (8 บิต)
  • ช่วงคือ -2 7 ถึง 2 7 -1
int16 อาร์เรย์จำนวนเต็ม 16 บิตที่ลงนามแล้ว
  • จัดเก็บเป็นจำนวนเต็มที่ลงนาม 2 ไบต์ (16 บิต)
  • ช่วง -2 15 ถึง 2 15 -1
int32 อาร์เรย์จำนวนเต็มแบบลงนาม 32 บิต
  • จัดเก็บเป็นจำนวนเต็มที่ลงนาม 4 ไบต์ (32 บิต)
  • ช่วงคือ -2 31 ถึง 2 31 -1
int64 อาร์เรย์จำนวนเต็มลงนาม 64 บิต
  • จัดเก็บเป็นจำนวนเต็มที่ลงนาม 8 ไบต์ (64 บิต)
  • ช่วงคือ -2 63 ถึง 2 63 -1
uint8 อาร์เรย์จำนวนเต็ม 8 บิตที่ไม่ได้ลงนาม
  • จัดเก็บเป็นจำนวนเต็ม 1 ไบต์ (8 บิต) ที่ไม่ได้ลงนาม
  • ช่วงคือ 0 ถึง 2 8 -1
uint16 อาร์เรย์จำนวนเต็ม 16 บิตที่ไม่ได้ลงนาม
  • จัดเก็บเป็นจำนวนเต็ม 2 ไบต์ (16 บิต) ที่ไม่ได้ลงนาม
  • ช่วงคือ 0 ถึง 2 16 -1
uint32 อาร์เรย์จำนวนเต็มแบบไม่มีเครื่องหมาย 32 บิต
  • จัดเก็บเป็นจำนวนเต็ม 4 ไบต์ (32 บิต) ที่ไม่ได้ลงนาม
  • ช่วงคือ 0 ถึง 2 32 -1
uint64 อาร์เรย์จำนวนเต็มที่ไม่ได้ลงนาม 64 บิต
  • จัดเก็บเป็นจำนวนเต็ม 8 ไบต์ (64 บิต) ที่ไม่ได้ลงนาม
  • ช่วงคือ 0 ถึง 2 64 -1

อ่าน: ขณะวนซ้ำใน 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 เท่านั้น