SakNgoi

Category: Mathematica

switching between notebooks in Mathematica

ถ้าจะสวิชระหว่าง notebooks ใน Mathematica กด Ctrl+F6 shortcut อื่นๆดูได้ที่ http://reference.wolfram.com/mathematica/tutorial/KeyboardShortcutListing.html

การใส่ไฟล์ CDF ใน HTML

เครื่องที่จะเปิดดูไฟล์ต้องลง CDF player ก่อนนะครับ ถ้าจะ embed ไฟล์ cdf ลงใน html สามารถทำได้ตามนี้ครับ <embed src=”ไฟล์.cdf” width=”588″ height=”380″> หรือ <object classid=”clsid:612AB921-E294-41AA-8E98-87E7E057EF33″ width=”500″ height=”300″ type=”application/vnd.wolfram.cdf.text”> <param name=”src” value=”ไฟล์.cdf”> <embed width=”500″ height=”300″ src=”ไฟล์.cdf” type=”application/vnd.wolfram.cdf.text”> </object> หรือจะใช้ script <script type=”text/javascript” src=”http://www.wolfram.com /cdf-player/plugin/v2.1/cdfplugin.js”></script> <script type=”text/javascript”> var cdf = new cdfplugin(); cdf.embed(‘/path/to/ไฟล์.cdf’, width, height); </script> ที่มา http://wolfram.com/cdf/adopting-cdf/deploying-cdf/web-delivery.html   #### เสียดายที่ CDF ใช้ไม่ได้กับ browser […]

มาใช้ 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)

การใส่สีพื้นหลังของกราฟจากคำสั่ง 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, […]

เขียน 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`] หรือ […]

เกี่ยวกับ AppendTo Sow Reap

ดูเหมือนว่าการใช้ AppendTo ในการเก็บค่าของตัวแปรที่สนใจจะทำให้การคำนวณช้าลงเมื่อ list ของตัวแปรมีขนาดใหญ่ขึ้นเรื่อย ๆ แนะนำว่าควรจะใช้ Sow และ Reap ช่วยจะดีกว่า ซึ่งก็ช่วยได้ เร็วขึ้นมาจริง (รู้สึกได้) ถ้าต้องการจะใช้ Sow แบบ Parallel ก็ทำแบบนี้ได้ครับ SetSharedFunction[ParallelSow] ParallelSow[expr_]:=Sow[expr]

อ่าน input file โดยใช้ Mathematica

จากตัวอย่างเกี่ยวกับการหาคำแรกหรือชื่อตัวแปรจาก input file http://www.sakngoi.com/?p=69 เราสามารถเขียนโดยใช้ Mathematica ได้เช่น ExtractVal[txtin_List, keyword_String] := Module[{pos, val}, (* extract the value of the keyword from the input file *) (* txtin = Import[inputfile,”Table”]; *) pos = Select[Position[ToLowerCase /@ txtin, keyword], #[[2]] == 1 &]; If[Length@pos == 1, val = txtin[[pos[[1, 1]], 2]];]; val ]; โดยที่ keyword ใน function ExtractVal นั้นก็เป็นชื่อตัวแปรที่เราต้องการนำไปใช้ […]

การรวมMS Excel sheets ไว้ในหน้าเดียวกันด้วย Mathematica

นักสถิติคนหนึ่งส่งไฟล์ข้อมูลที่เก็บใน Excel มาให้ เพราะต้องการให้รวมข้อมูลที่มีหลาย sheets โดยที่แต่ล่ะ sheet จะมี header เหมือนกันไว้ใน sheet เดียวกันเพื่อความสะดวกในการนำไปใช้ในโปรแกรมสถิติตัวอื่นเช่น STATA หรือ R วิธีที่ผมทำก็ง่ายมากเลยครับ ผมก็ให้ Mathematica อ่านข้อมูลเข้ามาทีล่ะ sheet ด้วยคำสั่ง Import เอามาต่อๆกันแล้วก็ Export มันออกมาเป็นไฟล์ใหม่ครับ ดูตัวอย่างด้านล่างครับ (* เปลี่ยนFolderไปที่ไฟล์ข้อมูลเก็บอยู่ เช่นที่ d:/works*) SetDirectory[“d:/works”]; (*อ่านข้อมูลทั้งหมดเข้ามาใน Mathematica พร้อมกับใช้ Flatten เพื่อเรียงข้อมูลใหม่*) dat = Flatten[Import[“data.xlsx”, {“Data”}],1]; (* จากนั้นก็สร้างไฟล์ใหม่ขึ้นมา  *) Export[“newdata.xlsx”, dat,”XLSX”] การอ่านไฟล์ Excel (.XLS, .XLSX) ด้วยคำสั่ง Import นั้นสามารถที่จะระบุตำแหน่งใน sheet และหมายเลขหรือชื่อของ sheet ได้ครับ สะดวกมากๆ […]

Mathematica 8.0

Mathematica 8.0 เพิ่งเปิดตัวมาได้ไม่นานนี้ มีคุณสมบัติใหม่เพิ่มเข้ามาพอสมควร โดยเฉพาะคุณสมบัติที่ผู้ใช้งานสามารถพิมพ์คำสั่งเป็นประโยคคำพูดแล้วตัวโปรแกรมจะแปลประโยคนั้นเป็นคำสั่งของ Mathematica โดยอัตโนมัตินั้น เป็นคุณสมบัติที่ผมคิดว่าเจ๋งมาก วิดีโอแนะนำโปรแกรม  Mathematica Quick Tour ในบ้านเราการใช้งาน Mathematica นี้อยู่ในวงจำกัดมาก เวปที่มีการพูดคุยเกี่ยวกับการใช้งานนี้แบบจริงจังก็มีเพียงของภาควิชาฟิสิกส์ มหาวิทยาลัยมหิดลเท่านั้น (http://mpec.sc.mahidol.ac.th/forums/index.php?board=16.0) ส่วนใครที่กำลังเริ่มต้นเรียนรู้ใช้งานสามารถอ่านคำแนะนำการใช้งานเบื้องต้นของท่านอ.พงศกร สายเพ็ชร์ได้ครับ

Back to top
%d bloggers like this: