Processing Data Using MATLAB Dr. Nawaporn Wisitpongphan
Outline Function in MATLAB Reading Data from File Writing Data to File Lab #1: สร้างฟังก์ชั่นแบบง่ายๆ “Hello World” Lab #2: สร้างฟังก์ชั่นโดยนำตัวแปรเข้าและออก Reading Data from File Lab #3: อ่านค่าจาก file โดยใช้คำสั่ง load Lab #4: อ่านค่าจาก file ทีละบรรทัด โดยใช้คำสั่ง fgetl Writing Data to File Lab #5: การสร้าง file ให้อยู่ใน format ที่สามารถนำไป process ต่อได้ Plotting Data Lab #6: การสร้างกราฟ 2 มิติ Lab #7: การสร้างกราฟ 3 มิติ Data Manipulation Lab #8: การวิเคราะห์ Data ในรูปแบบต่างๆ e.g., scalar, array, matrix
Functions in MATLAB นิยมสร้าง M-File เพื่อเขียนฟังก์ชั่น Lab #1: สร้าง M-File เพื่อ print คำว่า Hello World… File->M-File ให้ฟังก์ชั่นมีชื่อว่า HelloWorld Useful Command: disp Lab #2: Print คำว่า Hello World… ตามจำนวนครั้งที่ระบุ แก้ฟังก์ชั่น HelloWorld ให้ นำ input เข้าไป 1 ค่า แล้วใช้ คำสั่ง for ในการ print Hello World และระบุครั้งที่ พิมพ์ Output -> จำนวนตัวอักษรทั้งหมดที่ print ออกมา รวม space และ full stop strcat num2str, str2num for, while, size, length
Reading Data from a file: Lab 3.1 Useful Command load mean, std, min, max strfind Lab#3.1: อ่านคะแนนนักเรียนจาก file โดยใช้คำสั่ง load เปิดและ อ่านไฟล์จาก GroupA.txt GroupB.txt และ GroupC.txt Display output ตามตัวอย่าง
Reading Data from a file: Lab 3.2 อ่านคะแนนนักเรียนจาก file โดยใช้คำสั่ง load เปิดและ อ่านไฟล์จาก GroupA2.txt GroupB2.txt และ GroupC2.txt ให้ input เป็น ชื่อไฟล์ และ คะแนน Midterm หรือ Final Display output ตามตัวอย่าง
Reading Data from a file: Lab 4 Useful Command: fopen, fgetl, fgets, fread, fscanf If, else strtok, strtrim, strcmp disp Lab #4 อ่านคะแนนนักเรียนจาก file โดยใช้คำสั่ง fgetl เปิดและ อ่านไฟล์จาก lab4.txt ให้ input เป็น ชื่อไฟล์ และ เกรด ให้ print คะแนนคนที่ได้เกรดนั้นๆ พร้อมบอกจำนวน ดังตัวอย่าง
Writing Data to File: Lab 5 ใช้ Data ชุดเดิมจาก lab 4 ให้เขียน data ใหม่โดยตัด บรรทัดแรกที่เป็น text และ column ที่เป็น grade ออก ให้ input แรกเป็นไฟล์จาก lab 4 และให้ input ที่สองเป็น ไฟล์ที่จะเขียน data ใส่
Plotting Data: Lab 6 & 7 Useful Command: Lab #6 & 7 & 8: figure, plot, subplot, hist, bar hold on, hold off xlabel, ylabel, title, legend, grid set Lab #6 & 7 & 8: อ่านไฟล์จาก lab6.txt column #1 = ID Column #2 = Midterm Score Column #3 = Final Score Column #4 = Total Score
Lab 6.1 Lab 6.1 plot กราฟ 2 มิติโดยใช้คำสั่ง plot ให้แกน x เป็น ID แกน y เป็น คะแนน Midterm ใช้คำสั่ง hold on hold off เพื่อ plot คะแนน Final ลงบนแกนเดียวกัน พร้อมตั้งชื่อแกน x และ y พร้อมกับชื่อกราฟ ดังภาพ
Lab 6.2 Lab 6.2 รูปแรกเป็นกราฟที่ plot โดยใช้คำสั่ง hist ที่ bin size = 5 กับ คะแนน Midterm รุปที่สองเป็นกราฟที่ plot โดยใช้คำสั่ง hist ที่ bin size = 5 กับคะแนน Final รูปที่สามเป็นกราฟที่ plot โดยใช้คำสั่ง bar เพื่อเปรียบเทียบการกระจายตัวของคะแนนทั้งสอง
Plotting 3D: Lab 7 Lab 7 สร้าง vector ดังต่อไปนี้ >> x = 0:pi/50:2*pi >> y = 0:pi/50:2*pi >> z = sin(x’)* sin(y); Plot graph โดยใช้คำสั่ง meshz, mesh, surf, และ waterfall
Data Manipulation: Lab 8: Homework นางสาวยอดหญิงทำงานวิจัยกับนักศึกษาปริญญาตรี โดยส่วน หนึ่งของงานวิจัยนางสาวยอดหญิงจะต้องประเมินคะแนนสอบ รายวิชา M101 ซึ่งเป็นวิชาคณิตศาสตร์พื้นฐานที่เปิดให้ นักศึกษาระดับปริญญาตรีจากทั้งมหาวิทยาลัยเรียน แต่ละปีจะ มีทั้งหมด 20 sections โดยแต่ละ section จะมีนักศึกษา 30 คน จงวิเคราะห์ข้อมูลของนางสาวยอดหญิงจาก ไฟล์ M101_12years.txt ซึ่งเป็นสถิติจาก 12 ปีย้อนหลังโดยวิธีใดก็ ได้ เพื่อให้ได้ข้อสรุปว่าคุณภาพนักศึกษาแต่ละปีเป็นอย่างไร ถ้ากำหนดให้ความยากง่ายของข้อสอบนั้นเหมือนกันทุกปี ส่ง MATLAB code พร้อมกับคำตอบ พร้อมกราฟต่างๆที่ช่วย ในการวิเคราะห์
Useful Command for research Exporting the Figure print –djpeg figurename print –deps figurename print –depsc figurename Clustering: kmeans, linkage, cluster, clusterdata, pdist Fuzzy Logic: Fuzzy Logic Toolbox >>help fuzzy Nuerual Network Toolbox