แนะนำการใช้ Mathematica เบื้องต้นสำหรับนักศึกษาด้านวิทยาศาสตร์

รวบรวมโดย พงศกร สายเพ็ชร์

กลับไปหน้าแรก

ปัญหาจากนักศึกษา (คุณ Foggy_Ritchy): อยากได้วิธีการวาด equipotential line ในวิชา EM ครับว่าจะออกมางามแค่ไหน

เราสามารถใช้ ContourPlot[...] แสดงรูป Equipotential Line ได้ครับ
ตัวอย่าง point source 1/r

In[1]:=

ContourPlot[1/(x^2 + y^2)^(1/2), {x, -10, 10}, {y, -10, 10}]

[Graphics:HTMLFiles/potential_2.gif]

Out[1]=

⁃ContourGraphics⁃

ถ้าไม่ต้องการสีเทาก็ใช้ ContourShading -> False

In[2]:=

ContourPlot[1/(x^2 + y^2)^(1/2), {x, -10, 10}, {y, -10, 10}, ContourShading  False]

[Graphics:HTMLFiles/potential_5.gif]

Out[2]=

⁃ContourGraphics⁃

เพื่อให้การกำหนด potential ง่ายขึ้น เราจะกำหนด pointPotential[x,y,x0,y0] เป็นค่า potential ที่จุด (x,y) ถ้ามีประจุหน่วยอยู่ที่ (x0,y0)

In[3]:=

pointPotential[x_, y_, x0_, y0_] := 1/((x - x0)^2 + (y - y0)^2)^(1/2)

In[4]:=

pointPotential[x, y, x0, y0]

Out[4]=

1/((x - x0)^2 + (y - y0)^2)^(1/2)

ภาพสำหรับประจุสองอันที่มีเครื่องหมายต่างกัน อยู่ที่ (-1,0) และ (1,0)

In[5]:=

pot1[x_, y_] := pointPotential[x, y, -1, 0] - pointPotential[x, y, 1, 0]

In[6]:=

ContourPlot[pot1[x, y], {x, -10, 10}, {y, -10, 10}]

[Graphics:HTMLFiles/potential_12.gif]

Out[6]=

⁃ContourGraphics⁃

ถ้าต้องการให้มีเส้นมากขึ้น ใช้ Contours -> ...

In[7]:=

ContourPlot[pot1[x, y], {x, -10, 10}, {y, -10, 10}, Contours  20]

[Graphics:HTMLFiles/potential_15.gif]

Out[7]=

⁃ContourGraphics⁃

ภาพสำหรับประจุสองอันที่มีเครื่องหมายเหมือนกัน อยู่ที่ (-4,0) และ (4,0)

In[8]:=

pot2[x_, y_] := pointPotential[x, y, -4, 0] + pointPotential[x, y, 4, 0]

In[9]:=

ContourPlot[pot2[x, y], {x, -10, 10}, {y, -10, 10}]

[Graphics:HTMLFiles/potential_19.gif]

Out[9]=

⁃ContourGraphics⁃

ถ้าต้องการให้ภาพละเอียดขึ้น ให้ใช้ PlotPoints -> ...

In[10]:=

ContourPlot[pot2[x, y], {x, -10, 10}, {y, -10, 10}, PlotPoints  100]

[Graphics:HTMLFiles/potential_22.gif]

Out[10]=

⁃ContourGraphics⁃

ภาพสำหรับประจุสี่อันที่มีเครื่องหมายเหมือนกัน อยู่ที่  (1,1), (1,-1), (-1,-1), (-1,1)

In[11]:=

pot3[x_, y_] := pointPotential[x, y, 1, 1] + pointPotential[x, y, 1, -1] + pointPotential[x, y, -1, -1] + pointPotential[x, y, -1, 1]

In[12]:=

ContourPlot[pot3[x, y], {x, -4, 4}, {y, -4, 4}, PlotPoints  100, Contours  30]

[Graphics:HTMLFiles/potential_26.gif]

Out[12]=

⁃ContourGraphics⁃

ภาพสำหรับประจุสี่อันที่มีเครื่องหมายสลับกัน อยู่ที่  (1,1), (1,-1), (-1,-1), (-1,1)

In[13]:=

pot4[x_, y_] := pointPotential[x, y, 1, 1] - pointPotential[x, y, 1, -1] + pointPotential[x, y, -1, -1] - pointPotential[x, y, -1, 1]

In[14]:=

ContourPlot[pot4[x, y], {x, -4, 4}, {y, -4, 4}, PlotPoints  100, Contours  30]

[Graphics:HTMLFiles/potential_30.gif]

Out[14]=

⁃ContourGraphics⁃


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


Created by Mathematica  (November 5, 2005)