แนะนำการใช้ 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}]](HTMLFiles/potential_1.gif) 
 ![[Graphics:HTMLFiles/potential_2.gif]](HTMLFiles/potential_2.gif) 
Out[1]=
  
ถ้าไม่ต้องการสีเทาก็ใช้ ContourShading -> False
In[2]:=
 ![ContourPlot[1/(x^2 + y^2)^(1/2), {x, -10, 10}, {y, -10, 10}, ContourShading  False]](HTMLFiles/potential_4.gif) 
 ![[Graphics:HTMLFiles/potential_5.gif]](HTMLFiles/potential_5.gif) 
Out[2]=
  
เพื่อให้การกำหนด 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)](HTMLFiles/potential_7.gif) 
In[4]:=
 ![pointPotential[x, y, x0, y0]](HTMLFiles/potential_8.gif) 
Out[4]=
  
ภาพสำหรับประจุสองอันที่มีเครื่องหมายต่างกัน อยู่ที่ (-1,0) และ (1,0)
In[5]:=
 ![pot1[x_, y_] := pointPotential[x, y, -1, 0] - pointPotential[x, y, 1, 0]](HTMLFiles/potential_10.gif) 
In[6]:=
 ![ContourPlot[pot1[x, y], {x, -10, 10}, {y, -10, 10}]](HTMLFiles/potential_11.gif) 
 ![[Graphics:HTMLFiles/potential_12.gif]](HTMLFiles/potential_12.gif) 
Out[6]=
  
ถ้าต้องการให้มีเส้นมากขึ้น ใช้ Contours -> ...
In[7]:=
 ![ContourPlot[pot1[x, y], {x, -10, 10}, {y, -10, 10}, Contours  20]](HTMLFiles/potential_14.gif) 
 ![[Graphics:HTMLFiles/potential_15.gif]](HTMLFiles/potential_15.gif) 
Out[7]=
  
ภาพสำหรับประจุสองอันที่มีเครื่องหมายเหมือนกัน อยู่ที่ (-4,0) และ (4,0)
In[8]:=
 ![pot2[x_, y_] := pointPotential[x, y, -4, 0] + pointPotential[x, y, 4, 0]](HTMLFiles/potential_17.gif) 
In[9]:=
 ![ContourPlot[pot2[x, y], {x, -10, 10}, {y, -10, 10}]](HTMLFiles/potential_18.gif) 
 ![[Graphics:HTMLFiles/potential_19.gif]](HTMLFiles/potential_19.gif) 
Out[9]=
  
ถ้าต้องการให้ภาพละเอียดขึ้น ให้ใช้ PlotPoints -> ...
In[10]:=
 ![ContourPlot[pot2[x, y], {x, -10, 10}, {y, -10, 10}, PlotPoints  100]](HTMLFiles/potential_21.gif) 
 ![[Graphics:HTMLFiles/potential_22.gif]](HTMLFiles/potential_22.gif) 
Out[10]=
  
ภาพสำหรับประจุสี่อันที่มีเครื่องหมายเหมือนกัน อยู่ที่ (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]](HTMLFiles/potential_24.gif) 
In[12]:=
 ![ContourPlot[pot3[x, y], {x, -4, 4}, {y, -4, 4}, PlotPoints  100, Contours  30]](HTMLFiles/potential_25.gif) 
 ![[Graphics:HTMLFiles/potential_26.gif]](HTMLFiles/potential_26.gif) 
Out[12]=
  
ภาพสำหรับประจุสี่อันที่มีเครื่องหมายสลับกัน อยู่ที่ (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]](HTMLFiles/potential_28.gif) 
In[14]:=
 ![ContourPlot[pot4[x, y], {x, -4, 4}, {y, -4, 4}, PlotPoints  100, Contours  30]](HTMLFiles/potential_29.gif) 
 ![[Graphics:HTMLFiles/potential_30.gif]](HTMLFiles/potential_30.gif) 
Out[14]=
  
 
วันนี้ขอจบแค่นี้ก่อน  หวังว่าคุณจะพบว่า Mathematica นั้นมีประโยชน์ในการศึกษาทางด้านวิทยาศาสตร์นะครับ ตอนผมเป็นนักเรียนอยู่ Mathematica 1.0 พึ่งออกมา และผมก็ใช้ช่วยในการเรียนและทำความเข้าใจในเรื่องต่างๆได้เป็นอย่างดี 
ในตอนด่อๆไป ผมจะเน้นรายละเอียดในเรื่องต่างๆมากขึ้น ถ้าใครมีอะไรสนใจเป็นพิเศษ ก็ช่วยบอกไว้ใน http://mpec.sc.mahidol.ac.th/ หรือเมล์ผม ที่ [email protected] นะครับ
Created by Mathematica (November 5, 2005)