4. การรับค่า การแสดงผล และคำสั่งพื้นฐานที่ควรทราบ
4.1 การรับค่า
การรับข้อมูลจาก user หากเป็นการเขียน m-file ทั่วไปที่ไม่ใช่ GUI จะรับข้อมูลโดยใช้คำสั่ง input เท่านั้นก็เพียงพอแล้ว ซึ่งคำสั่งนี้มีรูปแบบการใช้งานอยู่ 2 รูปแบบคือ- การรับข้อมูลประเภทตัวเลข
Data = input(‘Output text’);
- การรับข้อมูลประเภทตัวอักษร
Data = input(‘Output text’ , ‘s’);
ตัวอย่างเช่น
4.2 การแสดงผล
การแสดงผลส่วนมากใช้ 2 คำสั่งต่อไปนี้- คำสั่ง disp()
คำสั่ง disp() นั้นจะแสดงข้อมูลที่อยู่ในวงเล็บออกทางหน้า command window ซึ่งเมื่อแสดงผลเสร็จแล้วจะขึ้นบรรทัดใหม่ให้โดยอัตโนมัติ แต่โปรดจำไว้ว่าคำสั่ง disp() ใช้แสดงข้อมูลได้ทีละ 1 ชุดเท่านั้น และข้อมูลที่แสดงผลต้องเป็นประเภทเดียวกันด้วย ตัวอย่างเช่น
คำสั่งแรก คือการ disp ตัวอักษร
คำสั่งที่สอง คือการ disp ตัวแปร
คำสั่งที่สาม คือการ disp ตัวอักษร ผสมตัวแปร ซึ่งผมได้อธิบายไปแล้วว่าคำสั่ง disp ใช้แสดงผลได้ทีละ 1 ชุดเท่านั้น เราจึงจำเป็นต้องใช้ เครื่องหมาย [ ] เพื่อรวมข้อมูลทั้ง 2 ให้เป็นข้อมูลชุดเดียวกัน ซึ่งจะเห็นว่าผลที่แสดงออกมานั้นมีแค่ a เพราะตัวแปร A เก็บค่า 12 เอาไว้ ซึ่งมันจะถูกแปลงเป็นค่า Ascii โดยอัตโนมัติ ซึ่งอักขระหมายเลข 12 นั้นไม่ใช่ตัวอักษร ดังนั้นเราจึงไม่เห็นตัวอักษรใดๆ
คำสั่งที่สี่ คือการ disp ข้อมูลผสมแบบถูกต้อง ซึ่งเราจำเป็นต้องแปลงตัวแปร A ให้เป็นข้อมูลประเภท char เสียก่อน โดยใช้คำสั่ง num2str ดังนั้นผลลัพธ์ที่ได้จึงแสดงออกมาเป็น a12
- คำสั่ง fprintf()
จริงๆ คำสั่งนี้ใช้ได้หลายอย่าง แต่ในหัวข้อนี้เราจะพูดถึงการใช้คำสั่งนี้เพื่อแสดงผลทางหน้าจอ command window เท่านั้น มาดูตัวอย่างการใช้คำสั่งนี้กันเลยครับ
%f คือการแสดงผลแบบตัวเลขทศนิยม ส่วนตัวเลข 4.2 หมายความว่าจองพื้นที่ไว้ 4 ช่อง และแสดงทศนิยม 2 ตำแหน่ง ส่วน %s คือการแสดงข้อมูลประเภท char และ %d คือการแสดงผลในรูปแบบตัวเลขที่เป็นจำนวนเต็ม โดยตัวเลข 03 หมายความว่าให้จองพื้นที่ไว้ 3 ช่อง ถ้าข้อมูลที่แสดงมีไม่ถึง 3 ตำแหน่ง ตำแหน่งที่เหลือก็จะถูกแทนด้วยเลข 0
4.3 คำสั่งเพิ่มเติมที่ควรทราบ
คำสั่ง
|
ตัวอย่าง
|
ความหมาย
|
isnan()
|
isnan(A)
|
ตรวจสอบว่าตัวแปร A เป็นค่า NaN หรือไม่
|
isempty()
|
isempty(A)
|
เช็คว่า
A ว่าเปล่าหรือไม่
|
floor()
|
floor(A)
|
ปัดเศษของ A ทิ้ง
|
round()
|
round(A)
|
ปัดเศษของ
A ถ้ามากกว่าเท่ากับ .5 ปัดขึ้น
|
ceil()
|
ceil(A)
|
ปัดเศษของ A ขึ้น
|
rand()
|
A =
rand()
|
สุ่มตัวเลขทศนิยมระหว่าง
0-1 มาหนึ่งตัว
|
randperm(X,n)
|
B
= randperm(100,6)
|
สุ่มตัวเลขจำนวนเต็มระหว่าง 1-100 มา 6 ตัว
โดยแต่ละตัวค่าจะไม่ซ้ำกัน
|
randi([x,y],m,n)
|
C =
randi([1,10],1,2)
|
สุ่มตัวเลขจำนวนเต็มระหว่าง
1-10 โดยคืนค่ามาในรูปแบบ 1 แถว 2 คอลัมภ์
|
ones(m,n)
|
D
= ones(3,4)
|
สร้างแมททริกซ์เลข 1 ที่มีขนาด 3 แถว 4 คอลัมภ์
|
zeros(m,n)
|
E =
zeros(2,4)
|
สร้างแมทริกซ์เลข
0 ที่มีขนาด 2 แถว 4 คอลัมภ์
|
length()
|
A
= length(‘Hello’)
|
หาความยาวของคำว่า ‘Hello’ ซึ่งได้ผลลัพธ์เท่ากับ
5
|
size()
|
[r,c]
= size(A);
|
ใช้หาขนาดของอาเรย์
2 มิติ โดยคำสั่งนี้จะคืนค่าออกมา 2 ค่า คือ จำนวนแถว และจำนวนคอลัมภ์
โดยในตัวอย่างนี้ใช้ r
เก็บค่าจำนวนแถว และใช้ c เก็บค่าจำนวนคอลัมภ์
|
sum()
|
S
= sum(A)
|
หาผลรวมของอาเรย์ A
|
mean()
|
Av =
mean(A)
|
หาค่าเฉลี่ยของอาเรย์
A
|
max()
|
[v,id]
= max(A)
|
หาค่าที่มากที่สุดของ A โดย output จะมี 2 ค่าคือ ค่ามากที่สุด (v) และตำแหน่งของค่านั้น
(id)
|
min()
|
[v,id]
= min(A)
|
ใช้หาค่าที่น้อยที่สุดใน
A โดย output จะมี 2 ค่าคือ ค่าที่น้อยที่สุด (v)
และตำแหน่งของค่านั้น (id)
|
จบหัวข้อที่ 4