การเรียนรู้ MATLAB ของผมเกิดขึ้นจากความจำเป็นทั้งสิ้น ที่ต้องหาเครื่องมือมาใช้ในการคำนวณในส่วนงาน ด้วยไม่เคยเรียนเกี่ยวกับ programming มาก่อนเลย เรียนแต่คอมพิวเตอร์พื้นฐานที่ทางสถาบันการศึกษาทุกแห่งต้องจัดให้เป็นวิชาพื้นฐานให้ นักเรียน นักศึกษา ต้องลงทะเบียนเรียนกันทุกคนนั่นแหละครับ
ด้วยพื้นฐานที่ไม่ถูกฝึกมาทาง programming ซึ่งเป็นเหตุผลหนึ่งที่เลือกใช้ MATLAB ดังนั้น source code ที่ผมเขียนขึ้นจะตรงไปตรงมา ผมต้องการอะไรผมก็จะเขียนอย่างนั้นเลย อาจจะไม่ฉลาดเหมือน programmer เขาเขียนกันนะครับ อันนี้ขอทำความเข้าใจไว้เบื้องต้นก่อนครับ ตอนเริ่มแรกผมศึกษาจากรุ่นพี่ที่เรียนด้วยกันและทำงานวิจัยด้วยกันครับ หลังจบก็แยกย้ายกันทำงานติดต่อกันบ้าง มีปัญหาก็สอบถาม หาข้อมูลตาม cyber space ถามผู้รู้บ้าง (ในกรณีที่พยายามด้วยตัวเองแล้ว) สุดท้ายความรู้มันก็ผสมปนเปกันออกมาพอจะใช้งานได้ครับ พอมีเครื่องมือทุ่นแรงกาย พลังสมอง ลงไปบ้าง ไม่ต้องไปนั่งคำนวณในกระดาษ เขียนด้วยปากกาซะทั้งหมด
ด้วยพื้นฐานที่ไม่ถูกฝึกมาทาง programming ซึ่งเป็นเหตุผลหนึ่งที่เลือกใช้ MATLAB ดังนั้น source code ที่ผมเขียนขึ้นจะตรงไปตรงมา ผมต้องการอะไรผมก็จะเขียนอย่างนั้นเลย อาจจะไม่ฉลาดเหมือน programmer เขาเขียนกันนะครับ อันนี้ขอทำความเข้าใจไว้เบื้องต้นก่อนครับ ตอนเริ่มแรกผมศึกษาจากรุ่นพี่ที่เรียนด้วยกันและทำงานวิจัยด้วยกันครับ หลังจบก็แยกย้ายกันทำงานติดต่อกันบ้าง มีปัญหาก็สอบถาม หาข้อมูลตาม cyber space ถามผู้รู้บ้าง (ในกรณีที่พยายามด้วยตัวเองแล้ว) สุดท้ายความรู้มันก็ผสมปนเปกันออกมาพอจะใช้งานได้ครับ พอมีเครื่องมือทุ่นแรงกาย พลังสมอง ลงไปบ้าง ไม่ต้องไปนั่งคำนวณในกระดาษ เขียนด้วยปากกาซะทั้งหมด
เอาเป็นว่า blog นี้ ผมจะเขียนบันทึกงานที่ผมทำในแต่ละครั้งนะครับ เพื่อประโยชน์ดังต่อไปนี้ครับ
- สำหรับตัวเอง กันลืม หรือจะได้กลับมารื้อค้นนำไปใช้ในภายหน้าครับ
- สำหรับคนอื่น เผื่อใครติดปัญหา แล้วสิ่งที่ผมเคยทำมันเป็นทางออกสำหรับเขา ผมก็ยินดีด้วยครับ
ถึงแม้ตัวข้าพเจ้าเองจะเป็นนักวิทยาศาสตร์ชั้นปลายแถว แต่ก็จะพยายามทำงานที่มีประโยชน์ทั้งต่อตัวเองและคนอื่น เก็บประสบการณ์ไปเรื่อยๆ หากท่านใดเห็น blog นี้แล้ว อยากแนะนำเพิ่มเติม เต็มที่ครับผมน้อมรับคำแนะนำ คำสั่งสอนครับและทางตรงกันข้าม หากใครมีปัญหาติดขัดตรงไหนก็ฝากข้อความไว้ได้เลยครับ หากผมตอบได้ผมจะรีบจัดการให้ทันที แต่ถ้าผมตอบไม่ได้ก็จะพยายามหาคำตอบ จากแหล่งอื่นให้ครับ ดังนั้นผมจะขอเริ่มแล้วครับ
ผมมีอะไรอยากให้พี่ช่วยหน่อยครับ...โปรดติดต่อกลับทาง mail ด้วยครับ...
ReplyDeletepisanu_077@hotmail.com
ถ้าเราใช้กล้องเว็ปแคม ถ่ายรูปลายนิ้วมือของเรา แล้ใช้โปรแกรม Matlab ในการวิเคราะห์โดยเขียน GUI มาสั่งการ มีความเป็นไปได้ไหมครับ
ReplyDeleteได้อย่างแน่นอนครับ เมื่อประมาณสามปีที่แล้วเคยเล่นกล้อง micro webcam สามารถถ่ายภาพที่ให้ความละเอียดในระยะใกล้ (macro or super macro) ได้สบายๆ แต่ปัจจุบัน webcam ธรรมดาราคาถูกๆ ก็ทำได้เช่นกันครับ ส่วนเรื่อง
Deletematlab คำที่เกี่ยวข้องที่จะใช้ในการวิเคราะห์ก็น่าจะเป็นพวก binary image, edge detection, fingerprint matching, fingerprint recognition เป็นต้นครับ เรื่องนี้มีคนทำไว้เยอะอยู่ครับ นี่เป็นตัวอย่างครับ
http://www.youtube.com/watch?v=5YC9ZrB_lYw
http://www.mathworks.com/matlabcentral/fileexchange/16728-fingerprint-application
และนี่ตัวอย่าง publications ลองตามดูได้ครับ ชื่อเรื่อง:
1. Fingerprint Authentication System using a low-priced Webcam
(http://www.docstoc.com/docs/13700258/Webcam-Based-Fingerprint-Authentication-for-Personal-Identification-System)
2. Fingerprint Biometrics via Low-cost Sensors and Webcams
พี่คับ เราจะเขียนguiหลายๆหน้าได้ยังไงหรอคับ แล้วจะนำข้อมูลจากหน้าหนึ่งไปใช้ในอีกหน้าหนึ่งได้ยังไงหรอคับ ช่วยหน่อยนะคับ
ReplyDeleteตัวอย่างหนึ่งที่ผมทำไว้ ใช้คำสั่ง setappdata สำหรับส่งข้อมูล และ getappdata สำหรับรับข้อมูล (ในอีก GUI หนึ่ง)
ReplyDeleteตัวอย่างที่ว่า ตามนี้ครับ http://www.gui-matrixlab.blogspot.com/2012/04/how-to-transfer-data-dynamically.html
เพิ่มเติมนิดหน่อยครับ ผมแก้ link สำหรับโหลดไฟล์ต่างๆให้แล้ว ลองเอาไปเล่นดูครับ เผื่อเป็นแนวทาง
ReplyDeleteหรือตามไปดูใน links ที่ผมให้ไว้ใน references ก็ดีครับ
พี่คับ สร้างตารางแบบ result.csvอ่ะคับ เราจะเปลี่ยนชื่อหัวในแต่ล่ะช่องของตารางต้องมำยังไงอ่ะครับ ขอบคุนครับ
ReplyDeleteพี่คับ สร้างตารางแบบ result.csvอ่ะคับ เราจะเปลี่ยนชื่อหัวในแต่ล่ะช่องของตารางต้องมำยังไงอ่ะครับ ขอบคุนครับ
ReplyDeleteผมให้บันทึกเป็น .xls นะครับ และกำหนดชื่อ column แบบนี้ครับ
ReplyDeletetitle={'Sample no.' 'Concentration'};
xlswrite(UnknownConFileName,title,'A1:B1'); % UnknownConFileName คือข้อมูล
สว่นกำหนดชื่อ row ก็ทำคล้ายๆกัน เช่น
S1Number={'S11' 'S12' 'S13' 'S14' 'S15' 'S16'};
xlswrite(UnknownConFileName,S1Number','A2:A7'); % UnknownConFileName คือข้อมูล
ไม่รู้ว่านี่จะช่วยได้เปล่า