การสร้างไฟล์ exe
เมื่อเราเขียนโปรแกรมของเราเสร็จแล้ว ไม่ว่าจะเป็นโปรแกรมแบบ script หรือ function ทุกครั้งที่เราจะรัน เราก็ยังต้องเปิดโปรแกรม MATLAB ขึ้นมาเหมือนเดิม ไม่งั้นจะไม่สามารถรันไฟล์ .m ได้
ดังนั้นเพื่อความสะดวกในการใช้งาน เราอาจจะทำให้โปรแกรมของเราอยู่ในรูปไฟล์ exe ก็ได้ ซึ่งเมื่อทำเป็นไฟล์ exe แล้ว โปรแกรมของเราจะสามารถรันได้ด้วยตัวมันเอง เหมือนโปรแกรมทั่วๆ ไป โดยที่เราไม่ต้องเปิดโปรแกรม MATLAB อีก
ในตัวอย่างนี้ ผมจะใช้ function fcnex9.m ที่อยู่ในหัวข้อเรื่อง "การเขียนฟังก์ชัน" มาใช้เป็นตัวอย่างในการทำเป็นโปรแกรม exe นะครับ
ก่อนอื่นเลยนะครับ เราจะต้องสร้างโปรแกรมในรูปแบบ GUI ก่อน จึงจะสามารถทำเป็นโปรแกรม exe ได้ หลังจากนั้นเราค่อยไปเรียกใช้งานโปรแกรม หรือฟังก์ชันที่เราสร้างเสร็จแล้วจากหน้า GUI อีกที ถ้าพร้อมแล้วก็มาเริ่มกันเลยครับ
>> guide
จากนั้น enter แล้วจะปรากฎหน้าจอแบบนี้
เลือก "Blank GUI" ดังรูป แล้วตั้งชื่อโปรแกรมด้านล่าง (ในตัวอย่างนี้ผมตั้งว่า CountDown)
จากนั้นกด OK ก็จะได้หน้าโปรแกรมเปล่าๆ แบบนี้
เนื่องจากตัวโปรแกรม fcnex9 เป็นฟังก์ชันนับถอยหลัง ซึ่งรับ input 3 ค่าคือ ชั่วโมง นาที และ วินาที ดังนั้นผมจะสร้าง กล่องเอาไว้รับข้อความขึ้นมา 3 กล่อง เพื่อรับค่าทั้ง 3 นี้นะครับ แล้วสร้างปุ่มรัน 1 ปุ่ม โดยที่โปรแกรม fcnex9 จะเริ่มทำงานเมื่อเรากดปุ่มรันนี้ ซึ่งวิธีการทำดูได้จากวีดีโอด้านล่างนี้เลยนะครับ
ฟังก์ชัน fcnex9.m ดูได้ที่นี่นะครับ
ในตัวอย่างจะเห็นว่าเมื่อรัน GUI ครั้งแรก หน้า GUI ของเราถูกปิด เป็นเพราะว่ามีฟังก์ชัน fcnex9 มีคำสั่ง close all ดังนั้น เมื่อผมลบคำสั่ง close all ในฟังก์ชัน fcnex9 แล้วโปรแกรมจึงไม่ถูกปิดหลังจากกดปุ่มรัน
ในตัวอย่างนี้ผมใช้คำสั่ง exit ใน command window เพื่อปิดโปรแกรม MATLAB นะครับ เพื่อทดสอบว่าโปรแกรม .exe ที่เราสร้างขึ้นมานั้น จะสามารถรันได้ด้วยตัวเองจริงไหม ถ้าไม่เปิดโปรแกรม MATLAB เอาไว้ ซึ่งผลก็คือรันได้ไม่มีปัญหาครับ
ดังนั้นเพื่อความสะดวกในการใช้งาน เราอาจจะทำให้โปรแกรมของเราอยู่ในรูปไฟล์ exe ก็ได้ ซึ่งเมื่อทำเป็นไฟล์ exe แล้ว โปรแกรมของเราจะสามารถรันได้ด้วยตัวมันเอง เหมือนโปรแกรมทั่วๆ ไป โดยที่เราไม่ต้องเปิดโปรแกรม MATLAB อีก
ในตัวอย่างนี้ ผมจะใช้ function fcnex9.m ที่อยู่ในหัวข้อเรื่อง "การเขียนฟังก์ชัน" มาใช้เป็นตัวอย่างในการทำเป็นโปรแกรม exe นะครับ
ก่อนอื่นเลยนะครับ เราจะต้องสร้างโปรแกรมในรูปแบบ GUI ก่อน จึงจะสามารถทำเป็นโปรแกรม exe ได้ หลังจากนั้นเราค่อยไปเรียกใช้งานโปรแกรม หรือฟังก์ชันที่เราสร้างเสร็จแล้วจากหน้า GUI อีกที ถ้าพร้อมแล้วก็มาเริ่มกันเลยครับ
1. สร้าง GUI
พิมพ์คำสั่ง guide ในหน้า command window ดังนี้ครับ>> guide
จากนั้น enter แล้วจะปรากฎหน้าจอแบบนี้
เลือก "Blank GUI" ดังรูป แล้วตั้งชื่อโปรแกรมด้านล่าง (ในตัวอย่างนี้ผมตั้งว่า CountDown)
จากนั้นกด OK ก็จะได้หน้าโปรแกรมเปล่าๆ แบบนี้
เนื่องจากตัวโปรแกรม fcnex9 เป็นฟังก์ชันนับถอยหลัง ซึ่งรับ input 3 ค่าคือ ชั่วโมง นาที และ วินาที ดังนั้นผมจะสร้าง กล่องเอาไว้รับข้อความขึ้นมา 3 กล่อง เพื่อรับค่าทั้ง 3 นี้นะครับ แล้วสร้างปุ่มรัน 1 ปุ่ม โดยที่โปรแกรม fcnex9 จะเริ่มทำงานเมื่อเรากดปุ่มรันนี้ ซึ่งวิธีการทำดูได้จากวีดีโอด้านล่างนี้เลยนะครับ
ฟังก์ชัน fcnex9.m ดูได้ที่นี่นะครับ
ในตัวอย่างจะเห็นว่าเมื่อรัน GUI ครั้งแรก หน้า GUI ของเราถูกปิด เป็นเพราะว่ามีฟังก์ชัน fcnex9 มีคำสั่ง close all ดังนั้น เมื่อผมลบคำสั่ง close all ในฟังก์ชัน fcnex9 แล้วโปรแกรมจึงไม่ถูกปิดหลังจากกดปุ่มรัน
ในตัวอย่างนี้ผมใช้คำสั่ง exit ใน command window เพื่อปิดโปรแกรม MATLAB นะครับ เพื่อทดสอบว่าโปรแกรม .exe ที่เราสร้างขึ้นมานั้น จะสามารถรันได้ด้วยตัวเองจริงไหม ถ้าไม่เปิดโปรแกรม MATLAB เอาไว้ ซึ่งผลก็คือรันได้ไม่มีปัญหาครับ