Wednesday, January 1, 2020

On the beginning (MATLAB GUIDE)

   การเรียนรู้ MATLAB ของผมเกิดขึ้นจากความจำเป็นทั้งสิ้น ที่ต้องหาเครื่องมือมาใช้ในการคำนวณในส่วนงาน ด้วยไม่เคยเรียนเกี่ยวกับ programming มาก่อนเลย เรียนแต่คอมพิวเตอร์พื้นฐานที่ทางสถาบันการศึกษาทุกแห่งต้องจัดให้เป็นวิชาพื้นฐานให้ นักเรียน นักศึกษา ต้องลงทะเบียนเรียนกันทุกคนนั่นแหละครับ
   ด้วยพื้นฐานที่ไม่ถูกฝึกมาทาง programming  ซึ่งเป็นเหตุผลหนึ่งที่เลือกใช้ MATLAB ดังนั้น source code ที่ผมเขียนขึ้นจะตรงไปตรงมา ผมต้องการอะไรผมก็จะเขียนอย่างนั้นเลย อาจจะไม่ฉลาดเหมือน programmer เขาเขียนกันนะครับ อันนี้ขอทำความเข้าใจไว้เบื้องต้นก่อนครับ ตอนเริ่มแรกผมศึกษาจากรุ่นพี่ที่เรียนด้วยกันและทำงานวิจัยด้วยกันครับ หลังจบก็แยกย้ายกันทำงานติดต่อกันบ้าง มีปัญหาก็สอบถาม หาข้อมูลตาม cyber space ถามผู้รู้บ้าง (ในกรณีที่พยายามด้วยตัวเองแล้ว) สุดท้ายความรู้มันก็ผสมปนเปกันออกมาพอจะใช้งานได้ครับ พอมีเครื่องมือทุ่นแรงกาย พลังสมอง ลงไปบ้าง ไม่ต้องไปนั่งคำนวณในกระดาษ เขียนด้วยปากกาซะทั้งหมด

   เอาเป็นว่า blog นี้ ผมจะเขียนบันทึกงานที่ผมทำในแต่ละครั้งนะครับ เพื่อประโยชน์ดังต่อไปนี้ครับ

- สำหรับตัวเอง กันลืม หรือจะได้กลับมารื้อค้นนำไปใช้ในภายหน้าครับ

- สำหรับคนอื่น เผื่อใครติดปัญหา แล้วสิ่งที่ผมเคยทำมันเป็นทางออกสำหรับเขา ผมก็ยินดีด้วยครับ

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

9 comments:

  1. ผมมีอะไรอยากให้พี่ช่วยหน่อยครับ...โปรดติดต่อกลับทาง mail ด้วยครับ...

    pisanu_077@hotmail.com

    ReplyDelete
  2. ถ้าเราใช้กล้องเว็ปแคม ถ่ายรูปลายนิ้วมือของเรา แล้ใช้โปรแกรม Matlab ในการวิเคราะห์โดยเขียน GUI มาสั่งการ มีความเป็นไปได้ไหมครับ

    ReplyDelete
    Replies
    1. ได้อย่างแน่นอนครับ เมื่อประมาณสามปีที่แล้วเคยเล่นกล้อง micro webcam สามารถถ่ายภาพที่ให้ความละเอียดในระยะใกล้ (macro or super macro) ได้สบายๆ แต่ปัจจุบัน webcam ธรรมดาราคาถูกๆ ก็ทำได้เช่นกันครับ ส่วนเรื่อง
      matlab คำที่เกี่ยวข้องที่จะใช้ในการวิเคราะห์ก็น่าจะเป็นพวก 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

      Delete
  3. พี่คับ เราจะเขียนguiหลายๆหน้าได้ยังไงหรอคับ แล้วจะนำข้อมูลจากหน้าหนึ่งไปใช้ในอีกหน้าหนึ่งได้ยังไงหรอคับ ช่วยหน่อยนะคับ

    ReplyDelete
  4. ตัวอย่างหนึ่งที่ผมทำไว้ ใช้คำสั่ง setappdata สำหรับส่งข้อมูล และ getappdata สำหรับรับข้อมูล (ในอีก GUI หนึ่ง)
    ตัวอย่างที่ว่า ตามนี้ครับ http://www.gui-matrixlab.blogspot.com/2012/04/how-to-transfer-data-dynamically.html

    ReplyDelete
  5. เพิ่มเติมนิดหน่อยครับ ผมแก้ link สำหรับโหลดไฟล์ต่างๆให้แล้ว ลองเอาไปเล่นดูครับ เผื่อเป็นแนวทาง
    หรือตามไปดูใน links ที่ผมให้ไว้ใน references ก็ดีครับ

    ReplyDelete
  6. พี่คับ สร้างตารางแบบ result.csvอ่ะคับ เราจะเปลี่ยนชื่อหัวในแต่ล่ะช่องของตารางต้องมำยังไงอ่ะครับ ขอบคุนครับ

    ReplyDelete
  7. พี่คับ สร้างตารางแบบ result.csvอ่ะคับ เราจะเปลี่ยนชื่อหัวในแต่ล่ะช่องของตารางต้องมำยังไงอ่ะครับ ขอบคุนครับ

    ReplyDelete
  8. ผมให้บันทึกเป็น .xls นะครับ และกำหนดชื่อ column แบบนี้ครับ

    title={'Sample no.' 'Concentration'};
    xlswrite(UnknownConFileName,title,'A1:B1'); % UnknownConFileName คือข้อมูล

    สว่นกำหนดชื่อ row ก็ทำคล้ายๆกัน เช่น

    S1Number={'S11' 'S12' 'S13' 'S14' 'S15' 'S16'};
    xlswrite(UnknownConFileName,S1Number','A2:A7'); % UnknownConFileName คือข้อมูล

    ไม่รู้ว่านี่จะช่วยได้เปล่า

    ReplyDelete