มาใช้ Mathematica ในการเรียนการสอนกัน ด้วยคำสั่ง Manipulate 1

ผมจะมาเล่าให้ฟังครับว่าเราจะใช้โปรแกรมที่ชื่อ Mathematica ในการเรียนการสอนได้อย่างไร ด้วยคำสั่ง Manipulate แต่ก่อนจะไปถึงตอนนั้น ผมขอแนะนำว่าคนที่ไม่รู้ว่า Mathematica คืออะไรแล้วมันใช้ทำอะไรได้บ้างลองดูจากวีดีโอแนะนำนี้ดูครับ  QuickTour ส่วนใครที่กำลังเริ่มต้นเรียนรู้ใช้งานสามารถอ่านคำแนะนำการใช้งานเบื้องต้นของท่านอ.พงศกร สายเพ็ชร์ ได้ครับหรือจะไปพูดคุยสอบถามการใช้งาน Mathematica ได้ที่ http://mpec.sc.mahidol.ac.th/forums/ ครับ

ตัวอย่างจากการใช้คำสั่ง Manipulate ในการสร้างapplicationแบบต่างๆมีตัวอย่างมากมายที่ http://demonstrations.wolfram.com/ ต้องติดตั้ง Wolfram CDF Player ก่อนนะครับถึงจะเปิดดูพวกตัวอย่างนั้นได้  เจ้าตัว CDF Player นี้เองที่เราจะเปิดอ่านไฟล์พวก .nb หรือ .cdf ได้แต่จะไม่สามารถแก้ไขได้ครับ ต้องใช้ Mathematica อย่างเดียวครับ ถ้าจะสร้างหรือแก้ไฟล์ .nb  ส่วนไฟล์ .cdf นั้น Mathematica เปิดดูได้อย่างเดียวครับจะไม่สามารถแก้ไขตัว application ได้ครับ

ต่อตอนสองครับ(http://www.sakngoi.com/?p=290)

External Hard Disk กับ Linux

ผมซื้อ External Hard Disk(HD) ตัวหนึ่งยี่ห้อ Western Digital (WD) ขนาด 1 TB มาเอาไว้ใช้สำรองข้อมูลจากเครื่อง laptop ของผมซึ่งเป็นระบบปฏิบัติการ Linux Debian (Lenny) ผมมีปัญหาอยู่ว่าพอต่อ HD ผ่าน USB port กับ laptop แล้วมันมองเห็นข้อมูลใน HD แต่ไม่สามารถเขียนลงไปได้  ซึ่งผมก็ได้ลองใช้คำสั่ง

fdisk -l

เพื่อดูว่า HD ใช้ filesystem แบบไหนก็พบว่าเป็น NTFS  แล้วใช้ คำสั่ง

mount -t ntfs /dev/sdb1 /media/XHD -o rw

ก็พบว่ายังไม่สามารถทำให้สามารถเขียนข้อมูลลงในHDได้  ก็เลยหาข้อมูลดูพบว่า Debian ตัวที่ผมใช้อยู่นี้ยังไม่ได้ลงpackage ที่จะช่วยให้สามารถเขียนข้อมูลบนfilesystem ที่เป็น ntfs ไว้ ซึ่ง package ที่ว่านี้ก็คือ ntfs-3g ผมจึงได้ทำการติดตั้ง package นี้ผ่าน Synaptic package manager ซึ่งหลังจากติดตั้งเสร็จผมก็ทำการ mount HD ด้วยคำสั่ง

mount -t ntfs-3g  /dev/sdb1 /media/XHD -o rw

ซึ่งก็สำเร็จครับ สามารถเขียน ลบ อ่าน ข้อมูลบน HD ตัวนี้ได้ตามที่ตั้งใจ

 

การใส่สีพื้นหลังของกราฟจากคำสั่ง Plot

การใส่สีพื้นหลังของกราฟจากคำสั่ง Plot มีหลายวิธีครับ ด้านล่างนี้เป็นตัวอย่างครับ

Plot[Sin[x], {x, 0, 4 \[Pi]}, PlotStyle -> Red, Background -> Gray]

 

Graphics[Inset[
Plot[Sin[x], {x, 0, 4 \[Pi]}, PlotStyle -> White,
Frame -> {True, True, False, False},
FrameStyle -> Directive[White, 12]]], Background -> Gray]

 

bg = Graphics[
Polygon[{{0, 0}, {1, 0}, {1, 1}, {0, 1}},
VertexColors -> {Black, Black, White, White}],
AspectRatio -> Full];
Plot[Sin[x], {x, 0, 4 \[Pi]}, PlotStyle -> Red,
Prolog -> Inset[bg, Scaled[{0, 0}], Scaled[{0, 0}], Scaled[{1, 1}]]]

เขียน Mathematica package แบบง่ายๆ

มาลองเขียน Mathematica package แบบง่ายๆกันครับ

Mathematica package คืออะไร Mathematica package ก็คือชุดคำสั่งหรือโปรแกรมที่ถูกเขียนขึ้นเพื่อใช้ในการคำนวณเฉพาะด้าน ซึ่งจะมีสกุล .m

โดยถ้าเปิดไฟล์ .m ด้วย text editor อย่างเช่น notepad หรือ Mathematica เองเราจะเห็น code ข้างในมีคำสั่งหลักๆดังนี้ เช่น

BeginPackage[ “ชื่อpackage`”]
คำสั่ง1::usage = “คำสั่ง1[ x] คำอธิบายการใช้คำสั่ง1”
Begin[ “Private`”]
คำสั่ง1[ x_] :=  ….
End[]
EndPackage[]

การเรียกใช้งาน package ใน Mathematica เพียงใช้คำสั่ง Get หรือเครื่องหมาย << เช่น ถ้าpackage เราชื่อ MyPackage ก็เพียงพิมพ์
Get[MyPackage`]
หรือ
<<MyPackage`

ตัวอย่าง Package ชื่อ MyPackage ซึ่งมีคำสั่งอยู่ สองคำสั่งคือ fun1[x ] สำหรับหาค่า x^3 กับ fun2[x,y] สำหรับหาค่า sin(x)*cos(y)

BeginPackage[ “MyPackage`”]

fun1::usage = “fun1[ x] calculates x^3 ”
fun2::usage = “fun2[ x,y] calculates sin(x)*cos(y)”

Begin[ “Private`”]

fun1[ x_] := x^3

fun2[x_,y_]:=Sin[x ] * Cos[y]

End[]
EndPackage[]

ในการทดลองเขียน package ก็เพียงเปิด Mathematica แล้วพิมพ์ Code ของ package
ลงไปใน notebook แล้ว save เป็นแบบ Mathematica package ดูขั้นตอนตามรูปครับ

ในการเรียกใช้งาน package ก่อนอื่นเราต้องทำการบอก Mathematica ก่อนว่า package (MyPackage.m) ของเราอยู่ที่ไหน
ในตัวอย่างนี้สมมุติว่า MyPackage.m อยู่ที่ C:/TEMP ซึ่งเราสามารถบอก Mathematica
โดยใช้คำสั่ง AppendTo เพื่อเพิ่ม “C:/TEMP” เข้าไปในตัวแปร $Path
ซึ่งเป็นตัวแปรที่เก็บ Path หลักๆที่ Mathematica จะใช้ในการค้นหา Package ต่างๆ
หรือจะใช้ Needs[“MyPackage`”,”C:/TEMP/MyPacjage.m”] ในการเรียกใช้งานก็ได้ครับ

%d bloggers like this: