มาใช้ 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 ตัวนี้ได้ตามที่ตั้งใจ

 

Debian Lenny

เพราะความอยากรู้อยากเห็นนี่แหละเป็นตัวขับเคลื่อนให้มีการเรียนรู้สิ่งใหม่ๆ  นี่ก็เป็นอีกครั้งหนึ่งที่ยอม ลง Linux ใหม่โดยเปลี่ยนจาก Fedora ที่ใช้มาถึงเกือบสามปีแล้วไปเป็น Debian ตัว Debian รุ่นที่ลงคือ Lenny amd64 ก็ต้องบอกเลยว่าเดี๋ยวนี้ Linux ติดตั้งง่ายมาก

จริงๆแล้วรุ่นล่าสุด คือ Squeeze ซึ่งเปิดตัวเป็นทางการเมื่อ 6 ชม. (6 ก.พ. 2554) ที่ผ่านมานี้เอง ^_^’

การหาคำแรกในบรรทัด

ในหลายโปรแกรมจะมีการอ่านค่าพารามิเตอร์จาก text file โดยที่จะมีชื่อของพารามิเตอร์หรือตัวแปรอยู่ใน column แรกและค่าที่เราจะส่งผ่านเข้าในโปรแกรมจะอยู่ใน column ถัดไปโดยมี space ระหว่างตัวแปรและค่านี้ เช่น

InitialParasites         2.3*10^10

MeanAge           10

โปรแกรมเหล่านี้จะอ่านค่า input จาก text file ทีละบรรทัดโดยจะมีการหาว่าตัวแปรที่โปรแกรมต้องการแต่ละตัวอยู่ในบรรทัดใด จากนั้นก็จะส่งผ่านค่าไปให้ตัวพารามิเตอร์ตัวนั้นในโปรแกรม

นี่เป็นตัวอย่างภาษา C ที่ใช้ในการหาคำแรก (พารามิเตอร์) จากบรรทัดที่อ่านเข้ามา (source) ตัวอย่างนี้มีการใช้ isspace ซึ่งเป็น function ที่ใช้ในการหา white space หรือที่ว่างระหว่างคำ เช่น ‘ ‘ , ‘\t’, ‘\n’, ‘\v’, ‘\f’, ‘\r’  (ต้องมีการโหลด ctype.h หรือ cctype ก่อนครับ)

//find the first word from a line
void find_first_word(char *source, char *word)
{
int i=0;    //  Position within source
int j=0;    //  Position within word

/*  Skip leading white space                    */
while((source[i] != ‘\0’) && isspace(source[i]))
i++;

/*  Copy the word                        */
while((source[i] != ‘\0′) && !isspace(source[i]))
{
word[j]=source[i];
i++;
j++;
}

word[j]=’\0’;

return;
}

การทำงานของโปรแกรมสำหรับ Molecular dynamics simulation

ใครที่สนใจว่าโปรแกรมที่เราใช้ศึกษาด้าน molecular dynamics simulation เช่น AMBER, GROMACS, CHARMM หรือ NAMD ทำงานอย่างไร ผมขอแนะนำให้ลองศึกษาจาก source codes ของ  Mindy ครับ http://www.ks.uiuc.edu/Development/MDTools/mindy มันเป็นเหมือนเวอร์ชั่นย่อๆ ของ NAMD ครับ ซึ่งมันทำงานหลักๆอย่างที่ NAMD ทำเลยครับ จะไม่มีก็ในส่วนของการคำนวณแบบขนาน