แนะนำการใช้ Mathematica เบื้องต้นสำหรับนักศึกษาด้านวิทยาศาสตร์
รวบรวมโดย พงศกร สายเพ็ชร์
กลับไปหน้าแรก
ตอนที่ 1: คุณใช้ Mathematica ทำอะไรได้บ้าง
1. คุณสามารถใช้ Mathematica แทนเครื่องคิดเลขใดๆก็ได้
เพียงแต่พิมพ์ข้อความที่ต้องการคำนวณเข้าไป แล้วกดปุ่ม Shift และ Enter ด้วยกัน ผลลัพท์ก็จะแสดงขึ้นในบรรทัดต่อไป ข้อความที่คุณพิมพ์เข้าไปจะมีคำว่า In นำหน้า ขณะที่ผลลัพท์จะมีคำว่า Out นำหน้า
ถ้ากดปุ่ม Enter อันเดียว จะขึ้นบรรทัดใหม่เท่านั้น จะไม่มีการคำนวณผลลัพท์ให้ ถ้าต้องการคำนวณผลลัพท์ของข้อความใดๆ ให้เลือกข้อความนั้นๆแล้วกดปุ่ม Shift และ Enter ด้วยกัน
ถ้าเราต้องการทราบว่า 1+1 เท่ากับอะไร เราก็พิมพ์ 1+1 แล้วกดปุ่ม Shift และ Enter ด้วยกัน ก็ได้คำตอบดังข้างล่าง
In[1]:=
Out[1]=
ถ้าเราต้องการทราบว่า 2 ยกกำลัง 3 เท่ากับอะไร เราก็พิมพ์ 2^3 แล้วกดปุ่ม Shift และ Enter ด้วยกัน
In[2]:=
Out[2]=
ถ้าเราต้องการทราบว่า 24 คูณกับ 25 เท่ากับอะไร เราก็พิมพ์ 24*25 หรือ 24 เว้นวรรค 25 แล้วกดปุ่ม Shift และ Enter ด้วยกัน
In[3]:=
Out[3]=
In[4]:=
Out[4]=
ถ้าเราต้องการทราบว่า 50 แฟคทอเรียล เท่ากับอะไร เราก็พิมพ์ 50! แล้วกดปุ่ม Shift และ Enter ด้วยกัน
In[5]:=
Out[5]=
ถ้าเราต้องการทราบว่า 1 หาร 7 เท่ากับอะไร เราก็พิมพ์ 1/7 แล้วกดปุ่ม Shift และ Enter ด้วยกัน
In[6]:=
Out[6]=
คำตอบยังติดอยู่ในรูปเศษส่วน เพราะ Mathematica จะพยายามแสดงผลที่ใกล้เคียงค่าที่ถูกต้องมากที่สุดเท่าที่จะเป็นได้
ซึ่งในกรณีนี้คือจำนวนตรรกยะ 1/7
ถ้าต้องการคำตอบเป็นทศนิยม เราต้องบอก Mathematica โดยพิมพ์ 1.0/7.0 หรือ 1./7.
In[7]:=
Out[7]=
In[8]:=
Out[8]=
เราสามารถใช้ฟังค์ชัน N[ ] เพื่อหาค่าประมาณเป็นทศนิยม (ฟังค์ชันใน Mathematica จะอยู่ในรูป f[x,y,z,... ])
In[9]:=
Out[9]=
In[10]:=
Out[10]=
เราสามารถใส่จำนวนตำแหน่งนัยสำคัญที่ต้องการเข้าไปในฟังค์ชัน N[ ] ด้วย
In[11]:=
Out[11]=
In[12]:=
Out[12]=
In[13]:=
Out[13]=
In[14]:=
Out[14]=
In[15]:=
Out[15]=
In[16]:=
Out[16]=
Mathematica รู้จักฟังค์ชันต่างมากมาย รวมถึงจำนวนเชิงซ้อน
In[17]:=
Out[17]=
In[18]:=
Out[18]=
In[19]:=
Out[19]=
In[20]:=
Out[20]=
In[21]:=
Out[21]=
Mathematica ใช้สัญญลักษณ์ I แทนจำนวน
In[22]:=
Out[22]=
In[23]:=
Out[23]=
มีฟังค์ชันใน mathematical physics มากมาบ
In[24]:=
Out[24]=
In[25]:=
Out[25]=
In[26]:=
Out[26]=
In[27]:=
Out[27]=
2. คุณสามารถใช้ Mathematica สร้างกราฟทั้งสองและสามมิติ
กราฟของ sin(x)
In[28]:=
Out[28]=
กราฟของ Damped Oscillator
In[29]:=
Out[29]=
กราฟของ Normal Distribution
In[30]:=
Out[30]=
กราฟ 3 มิติ cos(x^2+y^2)
In[31]:=
Out[31]=
กราฟความหนาแน่น cos(x^2+y^2) เมื่อมองจากด้านบน
In[32]:=
Out[32]=
3. คุณสามารถใช้ Mathematica ช่วยทำการคำนวณต่างๆเกี่ยวกับ Calculus
หาลิมิตต่างๆ (พิมพ์เครื่องหมาย → โดยการพิมพ์ - แล้วพิมพ์ >)
In[33]:=
Out[33]=
In[34]:=
Out[34]=
หา f '(x) เมื่อ f(x) = sin(x)
In[35]:=
Out[35]=
หา f '(x) เมื่อ f(x) = cos(bx)
In[36]:=
Out[36]=
หา เมื่อ f(x) = sin(ax)cos(bx)
In[37]:=
Out[37]=
แทนค่า a ด้วย 2 และ b ด้วย 1 โดยใช "ReplaceAll" หรือ "/." โอเปอเรเตอร์
(คุณสามารถ copy/paste ข้อความ จากข้างบนได้)
In[38]:=
Out[38]=
จะเกิดอะไรขึ้นถ้าเราแทนค่า a,b ด้วย 1
In[39]:=
Out[39]=
เราได้ Infinity จากการหารด้วย 0
เราจะลองหาค่าใหม่โดยให้ b=a แต่ต้น
หา เมื่อ f(x) = sin(ax)cos(ax)
In[40]:=
Out[40]=
คราวนี้แทนค่า a ด้วย 1 สำเร็จ
In[41]:=
Out[41]=
หา เมื่อ f(x) = sin(nx)
In[42]:=
Out[42]=
คุณสามารถหาอนุกรมประมาณฟังค์ชันของคุณ
In[43]:=
Out[43]=
In[44]:=
Out[44]=
อนุกรมของ Stirling:
In[45]:=
Out[45]=
อันดับและอนุกรมก็มีให้เล่น
In[46]:=
Out[46]=
In[47]:=
Out[47]=
In[48]:=
Out[48]=
In[49]:=
Out[49]=
4. คุณสามารถใช้ Mathematica ช่วยเรื่องพีชคณิต
In[50]:=
Out[50]=
In[51]:=
Out[51]=
In[52]:=
Out[52]=
In[53]:=
Out[53]=
In[54]:=
Out[54]=
5. คุณสามารถใช้ Mathematica ช่วยทำแก้สมการต่าง รวมถึง differential equations
Solve[ ] สามารถแก้สมการได้หลายรูปแบบ
In[55]:=
Out[55]=
รวมถึงสมการที่คำตอบเป็นจำนวนเชิงซ้อน
In[56]:=
Out[56]=
และสมการที่มีตัวแปรหลายตัว
In[57]:=
Out[57]=
แต่บางครั้ง Solve[ ] ก็ไม่สามารถให้คำตอบในรูปที่เราเข้าใจได้ง่ายๆ
In[58]:=
Out[58]=
ในกรณีเช่นนี้เราสามารถใช้ NSolve (Numerical Solve) หาคำตอบเป็นตัวเลข
In[59]:=
Out[59]=
นอกจากนี้เรายังสามารถแก้สมการ differential ด้วย DSolve[ ]
เราจะทดลองแก้สมการของการสั่น Simpler Harmonic Motion
In[60]:=
Out[60]=
จะเห็นว่าคำตอบข้างบนติดค่าคงที่ C1, C2 ซึ่งเราสามารถหาค่าได้ถ้าเรากำหนดเงื่อนไขเบื้องต้น (initial conditions) ให้เหมาะสม
In[61]:=
Out[61]=
In[62]:=
Out[62]=
6. คุณสามารถใช้ Mathematica ช่วยทำการคำนวณต่างๆเกี่ยวกับ Linear Algebra
กำหนดเวคเตอร์ด้วยลิสต์
In[63]:=
Out[63]=
In[64]:=
Out[64]=
หา dot product และ cross product
In[65]:=
Out[65]=
In[66]:=
Out[66]=
In[67]:=
Out[67]=
บวกลบเวคเตอร์
In[68]:=
Out[68]=
In[69]:=
Out[69]=
เรากำหนดแมตริกซ์ด้วย ลิสต์ซ้อนลิสต์
In[70]:=
Out[70]=
แสดงให้ดูเหมือนแมตริกซ์
In[71]:=
Out[71]//MatrixForm=
หา determinant และ inverse
In[72]:=
Out[72]=
In[73]:=
Out[73]=
In[74]:=
Out[74]//MatrixForm=
เราสามารถทำการคำนวณกับสัญญลักษณ์ด้วย
In[75]:=
Out[75]=
Out[76]//MatrixForm=
In[77]:=
Out[77]//MatrixForm=
In[78]:=
Out[78]=
คุณสามารถสร้าง เวคเตอร์ และ แมตริกซ์ด้วยคำสั่ง Table[ ]
In[79]:=
Out[79]=
In[80]:=
Out[80]=
In[81]:=
Out[81]=
In[82]:=
Out[82]=
In[83]:=
Out[83]//MatrixForm=
In[84]:=
Out[84]=
In[85]:=
Out[85]=
7. คุณสามารถใช้ Mathematica เขียนโปรแกรมเพื่อแก้ปัญหาที่ซับซ้อน
คุณสามารถเขียนโปรแกรมได้หลายรูปแบบ ทั้งแบบ procedural, functional, declarative, และ object-oriented แต่เราจะดูตัวอย่างง่ายๆก่อน
เริ่มต้นด้วยการกำหนด ฟังค์ชันของเราเอง
In[86]:=
เราสามารถใช้ฟังค์ชันของเราในการคำนวณต่างๆ
In[87]:=
Out[87]=
In[88]:=
Out[88]=
In[89]:=
Out[89]=
In[90]:=
Out[90]=
เราสามารถกำหนด ฟังค์ชันต่างๆมาเรียงต่อกัน ให้ทำงานที่ซับซ้อนมากขึ้นเรื่อยๆ
ตัวอย่างการคำนวณ f[x+y+z] แบบอ้อมโลก:
In[91]:=
In[92]:=
Out[92]=
In[93]:=
Out[93]=
มี For, While loop สำหรับการทำซ้ำๆ
In[94]:=
In[95]:=
ตัวอย่างการ integrate ฟังค์ชัน f แบบสี่เหลี่ยมคางหมู โดยแบ่งช่วง (xmin, xmax) เป็น ndivisions ชิ้น
In[96]:=
In[97]:=
Out[97]=
In[98]:=
Out[98]=
In[99]:=
Out[99]=
In[100]:=
Out[100]=
แสดงกราฟของ Hermite โพลีโนเมียลถึงอันดับ maxorder โดยที่ x อยู่ระหว่าง xmin และ xmax
In[101]:=
In[102]:=
วันนี้ขอจบแค่นี้ก่อน หวังว่าคุณจะพบว่า Mathematica นั้นมีประโยชน์ในการศึกษาทางด้านวิทยาศาสตร์นะครับ ตอนผมเป็นนักเรียนอยู่ Mathematica 1.0 พึ่งออกมา และผมก็ใช้ช่วยในการเรียนและทำความเข้าใจในเรื่องต่างๆได้เป็นอย่างดี
ในตอนด่อๆไป ผมจะเน้นรายละเอียดในเรื่องต่างๆมากขึ้น ถ้าใครมีอะไรสนใจเป็นพิเศษ ก็ช่วยบอกไว้ใน http://mpec.sc.mahidol.ac.th/ หรือเมล์ผม ที่ [email protected] นะครับ
Created by Mathematica (July 18, 2005)