Matlab with LaTeX interpreter


เคยต้องการพล็อตกราฟของสมการคณิตศาสตร์ด้วย Matlab ไหมครับ สิ่งหนึ่งที่น่าปวดหัวคือการผนวกสมการลงไปในกราฟด้วย เช่นอาจจะต้องการพล็อตกราฟ $$e^{2\log x}$$ แล้วต้องการเขียนสมการกำกับที่กราฟ แบบสิ้นคิดทำได้ดังนี้
จะเห็นได้ว่ารูปข้างบนไม่ต้องทำอะไรมาก ใช้คำสั่ง

 text(2,2,'exp(2log(x))')

เป็นอันเสร็จพิธี

แต่การทำอะไรให้มันเต็มความสามารถนั้น ถึงแม้จะไม่ได้คะแนนเพิ่ม แต่ทำให้เอกสารอ่านง่ายดูดี เป็นเรื่องที่ควรกระทำ ดังนั้นใช้ความรูป LaTeX เพิ่มเข้าไปดังนี้

text(2,2,'$e^{2\log(x)}$','interpreter','latex','fontsize',18)

ซึ่งจะได้ผลของสมการที่สวยงามดังรูป
ซึ่งวิธีการนี้ใช้ได้หมดนะครับ ไม่ว่าจะเป็นคำสั่ง xlabel, ylabel, และ title แต่ช้าก่อนมันใช้กับคำสั่ง legend ไม่ได้ และนี่เป็นที่มาของบทความนี้ ในกรณีที่เราต้องการใช้คำสั่ง LaTeX กับ legend โดยสั่งจาก Matlab โดยตรก ไม่ต้องไปใช้เมาส์คลิ๊กขวาแล้วเลือก เราจะทำอย่างไร สมมติว่าผมพล็อตกราฟ $$x^3$$ และ $$x^2$$ บนแกนเดียวกัน แล้วใช้คำสั่ง

legend('x^3','x^2');

ผมก็จะได้กราฟตามรูป

ซึ่งก็จะได้ $$x^3$$ และ $$x^2$$ ที่ดูดีพอสมควร (กรณีนี้คำสั่ง LaTeX บางคำสั่ง รวมไปถึงอักษรกรีกบางตัวจะใช้ไม่ได้) แต่ถ้าต้องการให้ $$x^3$$ และ $$x^2$$ สวยงามขึ้น เราไม่สามารถใช้วิธีการตามข้างบนได้ จะต้องทำดังนี้

s =  legend('$x^3$','$x^2$');
set(s,'interpreter','latex');

ซึ่งก็จะได้กราฟสวย ๆ ตามต้องการครับ ดังแสดงในรูปข้างล่าง

หวังว่าจะมีประโยชน์ไม่มากก็น้อยนะครับ อนึ่งรูปที่โพสลงไปเป็น png คุณภาพอาจจะไม่ดีนัก แต่ของจริงดูดี รับรอง

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s