mPEC Forum

บทเรียน => การใช้โปรแกรม Mathematica => Topic started by: psaipetc on July 18, 2005, 03:18:30 PM



Title: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on July 18, 2005, 03:18:30 PM
ผมใส่ไว้ที่ http://www.atriumtech.com/pongskorn/mathematica/Chapter1/chapter1.html
หน้าหลักอยู่ที่ http://www.atriumtech.com/pongskorn/mathematica/index.html

เชิญดูครับ มีคำถาม คำแนะนำ อะไร ก็บอกครับ จะพยายามตอบและปรับปรุงครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: phys_pucca on July 18, 2005, 03:42:59 PM
พี่ครับผมชอข้อความนี้มากเลยครับ
" คุณควรจะเกียจคร้านอย่างมีประสิทธิภาพ อย่าขยันอย่างโง่ๆ คุณควรจะใช้เวลาของคุณอย่างมีประสิทธิภาพ เพื่อให้ได้ผลงานดีๆในเวลาจำกัด "

                               >:A  PHYSICS NEVER DIE


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on July 18, 2005, 04:39:35 PM
ดีมากๆเลยครับ ขอเป็นกำลังใจให้


Title: คำถามครับ
Post by: FogRit on July 18, 2005, 04:44:36 PM
 :-\ ผมอยากลองทำ  WAVE FUNCTION นะครับแบบที่เป็นภาพเคลื่อนไหวด้วย เมื่อกำหนด เวลาลงไปในกราฟ ปกติผม plot ได้แค่ภาพนิ่งขอคำแนะนำด้วยครับ ตอนนนี้ผมใช้ version 5.1 อยู่หัวข้อนั้นจะมีให้อ่านได้ต้องใช้ keyword ยังไงแนะนำด้วยนะครับ ขอบคุณมากครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on July 18, 2005, 06:40:35 PM
คุณต้องทำดังนี้

1. อิมพอร์ต Animation Package ด้วยคำสั่ง:

      <<Graphics`Animation`

2. สร้างเฟรมของภาพยนต์ของคุณ เช่น

       MoviePlot[Exp[-(x-t)^2], {x,-5,20} , {t,0,15} ,PlotRange -> All]

3. เลือกเฟรมของภาพยนต์ที่เกิดจาก 2 แล้วเลือกคำสั่ง Cell/Animate Selected Graphics จากเมนู หรือ กด Ctrl-Y

โชคดีครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on August 01, 2005, 01:46:35 PM
ขอบคุณมากครับผมกำลังประยุกต์ให้เป็นรูปอื่นๆอยู่ครับ คีบหน้าแค่ไหนจะรายงานครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on August 02, 2005, 04:03:12 PM
ดร.ครับ ผมอยากทราบว่าเมื่อเรา plot 3D แล้วจะเปลี่ยนมุมมองได้เลยโดยการ คลิก เม้าส์แล้วหมุนภาพได้ไหมครับโดยไม่ต้องไปปรับที่ view point ใน toolbar input นะครับ
ขอบคุณมากครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on August 03, 2005, 11:37:25 PM
ิอันนี้ผมไม่ทราบครับ  ผมไม่เคยใช้เลย  แต่อาจมีก็ได้


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on August 06, 2005, 01:35:19 PM
ขอบคุณมากครับ ดร. แล้วที่นี้ผมอยากให้เครื่องแก้สมการหารากที่ 4 หรือบางทีมีมากกว่านี้ครับ
แล้วเผอิญว่าคำตอบที่ต้องการมีเงื่อนไขด้วยจึงจะมีคำตอบน้อยลง (มาก)
ผมจะพิมพ์ยังไงดีครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on August 06, 2005, 09:27:33 PM
ดู "3.3.10 Using Assumptions" ใน Help นะครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on August 07, 2005, 08:52:35 PM
ขอบคุณครับ ดร.


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: ampan on August 09, 2005, 10:45:49 PM
Plot [sinh[ x ] , {x, 2.0, 4.0}]; แล้วทำไม มันไม่เขียนกราฟ ให้ ผมครับ ตัวแดงตัวจอเลยเหอๆๆ ??? >:A


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: ปิยพงษ์ - Head Admin on August 10, 2005, 08:06:52 AM
Plot [sinh[ x ] , {x, 2.0, 4.0}]; แล้วทำไม มันไม่เขียนกราฟ ให้ ผมครับ ตัวแดงตัวจอเลยเหอๆๆ ??? >:A

พื้นฐานข้อตกลงที่ Mathematica ใช้ก็คือ ชื่อฟังก์ชันต้องเริ่มต้นด้วยตัวอักษรตัวใหญ่

ลอง Plot [Sinh [ x ], {x, 2.0, 4.0}]; ดู


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: ampan on August 10, 2005, 08:21:39 PM
อ.ครับ แล้วถ้าผมจะ วาดกราฟ  x^4+y^4 = 16 ทำยังไงครับ โดยที่ไม่ต้อง จัด yเท่าเทอม x


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on August 10, 2005, 09:40:53 PM

<<Graphics`ImplicitPlot`

ImplicitPlot[x^4 + y^4 == 16,{x,-2.5,2.5}]


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: ampan on August 11, 2005, 10:53:59 AM
ผมลองพยายามทำดูแล้วครับ แต่ทำไมของผม พอกด แล้วมันก็ชี้น ฟังชันก์เดิมมา ไม่ยอมขึ้นกราฟให้
in[1]<< Graphics`ImplicitPlot`
\!\(\*
  RowBox[{\(ImplicitPlot::"shdw
      "\), \(\(:\)\(\ \)\), "\<\"Symbol \\!\\(\\\"ImplicitPlot\\\"\\) appears
      in multiple contexts \\!\\({\\\"Graphics`ImplicitPlot`\\\", \\\"Global`\
\\\"}\\); definitions in context \\!\\(\\\"Graphics`ImplicitPlot`\\\"\\) may \
shadow or be shadowed by other definitions. \\!\\(\\*ButtonBox[\\\"More…\\\", \
ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
ButtonData:>\\\"General::shdw\\\"]\\)\"\>"}]\)

in[2] ImplicitPlot[x^4 + y^4 == 16, {x, -2.5, 2.5}]
out[2] ImplicitPlot[x^4 + y^4 == 16, {x, -2.5, 2.5}]
ทำยังไงดีครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: ปิยพงษ์ - Head Admin on August 11, 2005, 11:14:38 AM
ผมลองพยายามทำดูแล้วครับ แต่ทำไมของผม พอกด แล้วมันก็ชี้น ฟังชันก์เดิมมา ไม่ยอมขึ้นกราฟให้
...

ไม่เห็นมีปัญหาอะไร  ทำตามปรกติ กด shitft enter หลัง input แต่ละครั้ง  คำสั่งแรกสั่งให้โหลดฟังก์ชัน ImplicitPlot  คำสั่งที่สองสั่งให้เขียนกราฟ

(http://mpec.sc.mahidol.ac.th/forumimages/ImplicitPlot.jpg)


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: ampan on August 11, 2005, 01:15:59 PM
ตอนนี้ได้แล้วครับ แต่ผมยังคงงงอยู่ดี  ว่าทำไม เมื่อคืนทำแล้ว เหมือนกัน กับที่ทำตอนนี้ แต่มัน ก็ไม่มีกราฟ ออกมา  ???


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on August 11, 2005, 02:13:58 PM
คุณอาจใช้ ImplicitPlot ก่อนที่คุณโหลดคำจำกัดความของมันมาด้วยคำสั่ง << Graphics`ImplicitPlot`
การพิมพ์คำว่า ImplicitPlot ก่อน << Graphics`ImplicitPlot`จะทำให้มีสัญญลักษณ์ ImplicitPlot เกิดขึ้นในระบบ
โดยที่คำจำกัดความของมันจะเป็นว่างๆ  ไม่ใช่คำจำกัดความที่ถูกต้อง

วิธีแก้ถ้าเกิดเหตุการณ์อย่างนี้คือการยกเลิกคำจำกัดความด้วยคำสั่ง Remove[ImplicitPlot] แล้ว โหลดคำจำกัดความของมันมาด้วยคำสั่ง << Graphics`ImplicitPlot`

ดู Remove[ ] ใน Help นะครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: ampan on August 11, 2005, 04:50:35 PM
ครับ เข้าใจแล้วครับ ขอบคุณอาจารย์มากครับ :D


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: Mr.Mea on August 16, 2005, 10:29:04 PM
ไม่ทราบว่า Mathematica มี function ในการรับข้อมูลภาพเคลื่อนไหวจากเว็บแคมเพื่อมาใช้ในการประมวลผลใหมครับ ผมกำลังทำ Thesis ใช้ Matlab บางครั้งมีปัญหาแล้วแก้ยาก ก็เลยลอง Mathematica ดูรบกวนผู้รู้ด้วยครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on August 18, 2005, 08:48:42 AM
เท่าที่ผมทราบ ไม่มีครับ
แต่อย่าเชื่อผมมาก ลองค้นคว้าใน internet ดูก่อน


Mathematica สามารถต่อโปรแกรมภายนอกผ่าน MathLink หรือ Java ฉนั้นน่าจะมีทาง  อย่างน้อยก็คำนวณทีละเฟรม


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on August 22, 2005, 11:13:25 PM
อาจารย์ครับผมอยาก uninstall mathematica 5.2 บน linux นะครับแล้วผมหาจนทั่วแล้ว ด้วยการใช้เครื่อง find files แล้วผมก็ไม่พบ uninstall.sh ครับ
ผมมีวิธีเอาออกอย่างไรดี แนะนำด้วยครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on August 22, 2005, 11:16:33 PM
ผมไม่มีประสบการณ์ Install/Uninstall ใน Linux ครับ
มีใครรู้ว่าควรจะทำอย่างไรไหมครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: ปิยพงษ์ - Head Admin on August 23, 2005, 07:18:23 AM
อาจารย์ครับผมอยาก uninstall mathematica 5.2 บน linux นะครับแล้วผมหาจนทั่วแล้ว ด้วยการใช้เครื่อง find files แล้วผมก็ไม่พบ uninstall.sh ครับ
ผมมีวิธีเอาออกอย่างไรดี แนะนำด้วยครับ

ผมไม่มี Linux ให้ลอง แต่

1. ลองดูใน  /usr/local/Wolfram/Mathematica/5.2/ แล้วลบด้วยมือ
2. install ซ้ำ อาจปรากฏ option ให้เลือก uninstall ถ้าตัว installer พบว่ามี copy เดิมอยู่แล้ว


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on August 24, 2005, 07:35:17 PM
อาจารย์ครับผมลองใส่แผ่น 5.1 ที่อาจารย์เขียนให้แล้วเครื่องพยายามเปิดประมาณ 10 นาทีมันก็ปิด x window ไปเองครับ ผมไม่ทราบว่าเกี่ยวกับการเขียนแผ่นด้วยความเร็วมากๆ หรือเปล่า หรือเป็นเพราะว่าผมมีตัว 5.2 ที่เวอร์ชั่นสูงกว่ากันแน่ครับ
แล้วทีนี้พอผมใส่ 5.2 ลงไปก็ ทำการติดตั้งได้ครับโดย ขึ้นปกติเลยครับให้ติดตั้งตามที่ได้ศึกษามาแต่ไม่มีให้เลือก uninstall นะครับมีให้เลือก 1 choice
คือ กด 1 for install   ;D

ส่วนวิธีแรกผมหวาดเสีียวมากครับ เพราะว่าผมลอง login เป็น root แล้วปรากฏว่ามันมี directory ที่เป็น hidden นามว่า .Mathematica5.2อยู่นะครับ
แล้วผมต้องลบด้วยมือใน root ด้วยหรือครับ ? ถ้า user root พัง จบเลยนะครับ  :o
หรือว่าๆๆ 5.1 เปิดบน Redhat 9 ไม่ได้ ??? แล้วทำไม 5.2 เปิดได้ล่ะ ผมงงมากๆ เลยครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on August 25, 2005, 10:11:48 PM
และแล้วด้วยอานิสง ของการเขียนแผ่นด้วยความเร็ว 1x โดยเครื่องคอมที่ทรงอานุภาพและปราศจากการรบกวนใดๆทั้งสิ้น บัดนี้ Red Hat 9 มีโปรแกรม Mathematica 5.1 แล้วครับ
ในอดีตที่ลงไม่ได้เพราะเขียนแผ่นเร็วเกินไป

ต้องลบด้วยมือออกให้หมด (ห้ามเหลือไว้ใน trash ด้วย)
มีสอง directory คือ

1#   .Mathematica ใน /root  เป็น directory ที่ Hidden อยู่ต้องตั้ง konqueror ให้เปิดทุกไฟและไดเร็คทอรีที่ซ่อนไว้ (และอื่นๆ)
2#   /usr/local/Wolfram/   เอาไดเร็คทอรี Wolfram นี้ออกเพราะภายในจะมีโปรแกรม 5.2 อยู่ต้องออกให้หมด 

เอาละครับต่อจากนี้ก็คือการติดตั้ง หากมี 5.2 อยู่ก่อนเครื่องจะมีการ lock MathID ไว้ครับ แต่ไม่ใช่ปัญหา ;D


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on August 29, 2005, 08:53:40 AM
คราวนี้ผ่านพ้นมาประมาณสัปดาห์กว่าๆ ทางต้นสังกัดได้เมล์กลับมาหาแล้วครับ
เขาว่าอย่างนี้แต่ผมไม่ได้ทำตามแล้วแหละ

To uninstall Mathematica, you can simply delete (using rm -rf command)
the following direcotries (assuming you used the default locations for
installation) :

1. Mathematica Top Directory
$cd /usr/local/Wolfram/Mathematica
$rm -rf 5.2

2. Mathematica BaseDirectory
$cd /usr/share/Mathematica
$rm -rf *
$cd ..
$rmdir Mathematica

3. Mathematica UserBaseDirecory
$cd $HOME/
$cd .Mathematica
$rm -rf *
$cd ..
$rmdir .Mathematica

This should completely remove Mathematica from your system.

Please let us know if you have any other questions.

Sincerely,

Onkar Singh
Technical Support
Wolfram Research, Inc.
support@wolfram.com



Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on September 06, 2005, 05:06:01 PM
เร็วๆนี้รุ่นพี่ ได้ให้สมการท้าทายมาครับ ผมเห็นว่าเป็นตัวอย่างที่ดีครับ ตัวอย่างการพิมพ์ครับ ถ้าใครต้องเจอแล้วไม่รู้ว่าจะพิมพ์ยังไงนี่เป็นตัวอย่างง่ายๆนะครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on September 07, 2005, 08:45:46 AM
ผมว่า Clear[f] ที่ In[35] จะทำให้คนอ่านมือใหม่งงนะครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on September 08, 2005, 01:09:57 PM
แก้ไขแล้วครับ

อธิบายเพิ่มเติมนะครับ
FullSimplify จริงๆแล้ว มีอีกคำสั่งคือ Simplify ต่างกันคือสมการจะดูง่ายยากต่างกันนิดหน่อยครับ

Clear[f]
เป็นการล้างค่าที่มีอยู่ทั้งหมดของฟังก์ชั่น f ครับ เนื่องจากกว่าผมจะมาถึงหน้าจอนี้ผมผ่านสมการมาเยอะจึงต้องมีการล้าง

ทีนี้ผมก็แสดงให้ดูว่าถ้าแทนค่าลงไปในฟังก์ชันเฉยๆ จะไม่ได้ค่าออกมา แล้วต้องใช้ การลิมิตครับ



Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on September 08, 2005, 02:08:55 PM
ดีมากครับ  :)
ฟังค์ชันที่คุณใช้เป็นตัวอย่างมาได้อย่างไรครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: FogRit on September 09, 2005, 05:41:15 PM
รุ่นพี่ปีสามครับ ให้มาครับอาจารย์
ส่วนการใช้ limit phys_pucca แนะนำมาครับ ถ้าไม่ใช้ limit ผมคงทำไม่ได้ครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: pattyphys on October 07, 2005, 07:17:30 PM
อยากทราบ เกี่ยวกับ Built in function ...NIntegrate นะครับ
เกี่ยวกับ พวก AccuracyGoal และ PrecisionGoal ว่า มีความสำคัญทาง Numerical Analysis อย่างไร
ขอบคุณล่วงหน้าครับ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on October 10, 2005, 06:53:44 PM
ดู 3.9.9 Advanced Topic: Controlling the Precision of Results ใน Help นะครับ


Title: อยากทราบค่ะ
Post by: nohopkin on January 25, 2008, 07:27:25 PM
ดร.คะ คือหนูอยากทราบว่าคำสั่ง Exists   FactorTerms   และ  FactorTermsList เป็นคำสั่งที่ใช้ทำอะไรคะ


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: psaipetc on January 25, 2008, 08:12:08 PM
Exists[ x, e ] เป็นการประกาศว่ามีค่า x ที่ทำให้ e เป็นจริง
ดูตัวอย่าง ที่ http://reference.wolfram.com/mathematica/ref/Exists.html แล้วกด "Applications" นะครับ

FactorTerms[ p ] จะแยกค่าคงที่ออกมาจาก polynomial p ครับ
เช่น
FactorTerms[12 a^2 + 3 a - 6] จะได้ 3 (-2 + a + 4 a^2)

FactorTermsList[ p ] จะทำหน้าที่เหมือน FactorTerms แต่จะให้ผลออกมาเป็น list ที่ตัีวแรกคือค่าคงที่ที่ดึงออกมา ตัวที่สองคื่อ polynomial ที่ถูกหารด้วยค่าคงที่แล้ว
เช่น
FactorTermsList[12 a^2 + 3 a - 6] จะได้ {3, -2 + a + 4 a^2}


Title: Re: แนะนำ Mathematica ตอนที่ 1
Post by: last on December 07, 2009, 11:21:13 PM
ตอนนี้ผมได้ใช้ประโยชน์มากเลยครับ ขอบคุณครับ >:A