ดูหนึ่งข้อความ
  #12  
Old 06 มกราคม 2009, 01:19
คุณชายน้อย คุณชายน้อย ไม่อยู่ในระบบ
จอมยุทธ์หน้าหยก
 
วันที่สมัครสมาชิก: 05 กรกฎาคม 2008
ข้อความ: 156
คุณชายน้อย is on a distinguished road
Default

อ้างอิง:
ข้อความเดิมเขียนโดยคุณ Anonymous314 View Post
ไม่ทราบว่าคุณ beginner01 ใช้ฟังก์ชันอะไรในการหาครับ ทำไมผมได้แบบนี้อะ
การคำนวณใน Mathematica ส่วนใหญ่ไม่ Simplify คำตอบให้ ยกเว้นรุ่นแอฟฟ่า รุ่นที่ผมใช้ 5.0a ไม่มีปัญหา คำตอบได้เหมือนคุณ beginner01 ผมว่ารุ่นที่คุณ Anonymous314 ใช้อาจเป็นรุ่น... เบต้า ที่ส่วนใหญ่ไม่ Simplify คำตอบให้ ถ้าต้องการดูคำตอบที่ลดรูป ใช้คำสั่ง Simplify หรือ FullSimplify ต่อท้าย ในรูปฟังก์ชัน (//) ถ้าต้องการดูการเขียนแบบดั้งเดิมให้ใช้คำสั่ง TraditionalForm ต่อท้ายในรูปฟังก์ชัน (//) ดังรูปต่อไปนี้



ในส่วนวิธีคิดของคุณ gon ส่วนตัวผมชอบ Style การคิดที่ดูแล้วน่าชื่มชมกับความพยายาม และหาวิธีการที่หลากหลาย และของคุณ noonuii ก็ดูแล้วน่านับถือที่พยายามคิดใน Scope ความรู้พื้นฐาน และในส่วนอื่น ๆ อีกหลายเรื่อง ของคุณ gon ผิดตรงนี้ครับ ดังรูป



เอาล่ะ!!! ไหน ๆ ก็มาแล้วขอเจาะเกร็ด (ความรู้) ใน Mathematica มาให้ก็แล้วกัน (ที่จริงอยากจะ Charge Battery ให้ตัวเองซักระยะ เพราะช่วงนี้เจอคลื่นมรสุมเยอะ...)

เจาะเกร็ด (ความรู้) เรื่อง Summation ใน Mathematica

การคำนวณใน Mathematica จะพยายามใช้สูตรสำเร็จที่มีรูปแบบ Generalization เรียบร้อยแล้ว ในแต่ละเรื่องในการคำนวณ ถ้าไม่พบจะพิจารณาตามลำดับความสำคัญ คือ คำนวณว่าลู่เข้าหรือไม่ (โดยใช้สูตรสำเร็จที่มีรูปแบบ Generalization เรียบร้อยแล้ว ในแต่ละเรื่อง) , คำนวณในรูป Telescope ณ ที่นี้เป็น Summation , คำนวณแบบ Recursive , ทำการ Simplify โจทย์ใหม่ แล้ววนไปคิดสูตรสำเร็จอีกครั้ง ==> ถ้าตอบได้ก็จะได้คำตอบออกมา ถ้าตอบไม่ได้ก็จะให้คำตอบที่เป็นโจทย์ที่เราป้อนนั่นเอง (ซึ่งพบบ่อย ๆ ถ้าฟังก์ชันในการคำนวณซับซ้อน)

เอาล่ะเรามาคำนวณ $\sum_{n = 1}^{\infty} \frac{6}{n(n+1)(2n+1)} $ ในรูป Generalization ของ Mathematica กันดีกว่า
1. เครื่องจะทำการตรวจสอบสูตรสำเร็จ ถ้าไม่มีก็คำนวณตามลำดับความสำคัญ สุดท้ายมาที่ process Simplify โดยใช้คำสั่งการแยกเป็นเศษส่วนย่อย ที่คือ Apart[...] จะได้
$$\sum_{n = 1}^{\infty} \frac{6}{n(n+1)(2n+1)} = 6\sum_{n = 1}^{\infty} \left(\,\right. \frac{1}{n}+\frac{1}{n+1}-\frac{4}{2n+1} \left.\,\right) $$

2. ต่อไปเครื่องจะตรวจสอบว่าจะต้องใช้สูตรสำเร็จที่มีรูปแบบ Generalization อะไร สุดท้ายมาตกที่ PolyGamma Function ซึ่งเป็นอนุพันธ์ของ Natural Logarithm ของฟังก์ชัน Gamma ซึ่งเป็น Generalization ของฟังก์ชัน Factorial อีกที (ผมเคยได้อธิบายมาครั้งหนึ่งแล้วในหัวข้อก่อน ๆ) คลิกดูรายละเอียด Gamma Function มีสูตรเยอะแยะมากมาย และจะใช้สูตรไหนดี สุดท้ายก็หาเจอ (การหาจะใช้ความรู้เรื่อง MatchQ Pattern ใน Mathematica เข้าตรวจสอบ) คือ สูตรนี้



คลิกดูรายละเอียดเพิ่มเติม

และแล้วก็เริ่มเปิดฉากการคำนวณเลย ก่อนอื่นต้องทำความเข้าใจสัญลักษณ์ก่อน เจ้า $\gamma $ (gamma ตัวเล็ก) ก็คือค่าคงตัวที่เรียกว่า Euler Constant ที่มีค่าเป็น $\gamma = 0.57721566... $ คลิกดูรายละเอียดเพิ่มเติม และ $\psi (z) = {\psi}^{(0)}(z) $ เอาล่ะจาก Digamma_function ในรูปด้านบน เราจะได้
$$ \sum_{k = 1}^{\infty}\frac{1}{x+k}=-\gamma -\psi (x+1)+\sum_{k = 1}^{\infty} \frac{1}{k} $$
เพราะฉะนั้น ในโจทย์ของเรา Take n->k โดยใช้คำสั่ง Replacement[...] ใน Mathematica
$\sum_{k = 1}^{\infty} \frac{6}{k(k+1)(2k+1)} $
$= 6\sum_{k = 1}^{\infty} \left(\,\right. \frac{1}{k}+\frac{1}{k+1}-\frac{4}{2k+1} \left.\,\right) $
$= 6\left(\,\right. \sum_{k = 1}^{\infty}\frac{1}{k}+\sum_{k = 1}^{\infty}\frac{1}{k+1}-4\sum_{k = 1}^{\infty}\frac{1}{2k+1} \left.\,\right) $
$= 6\left(\,\right. \sum_{k = 1}^{\infty}\frac{1}{k}+\sum_{k = 1}^{\infty}\frac{1}{k+1}-2\sum_{k = 1}^{\infty}\frac{1}{k+(1/2)} \left.\,\right)$
$ = 6\left(\,\right. \sum_{k = 1}^{\infty}\frac{1}{k}+\sum_{k = 1}^{\infty}\frac{1}{k+1}-2\left(\,\right. -\gamma -\psi (\frac{3}{2})+\sum_{k = 1}^{\infty}\frac{1}{k} \left.\,\right)\left.\,\right) (โดยการให้ x = \frac{1}{2} ) $
$=6\left(\,\right. \sum_{k = 1}^{\infty}\left(\,\right. \frac{1}{k+1}-\frac{1}{k}\left.\,\right) +2\gamma +2\psi (\frac{3}{2} )\left.\,\right) $
$=6\left(\,\right. -1+2\gamma +2\psi (\frac{3}{2})\left.\,\right) (โดยการใช้ Telescope Sum) $
$=6\left(\,\right. -1+2\gamma +2{\psi}^{(0)} (\frac{3}{2})\left.\,\right) $
ซึ่งก็ได้คำตอบตรงกับ Mathematica ที่ตอบออกมา ต่อไปก็ทำการ Simplify อีกครั้งโดยเข้าสูตรลดรูป ดังนี้



$\sum_{k = 1}^{\infty} \frac{6}{k(k+1)(2k+1)} $
$=6\left(\,\right. -1+2\gamma +2\psi (\frac{3}{2})\left.\,\right)$
$=6\left(\,\right. -1+2\gamma +2 \left(\,\right. -\gamma - 2ln(2) + \sum_{k = 1}^{1}\frac{2}{2k-1} \left.\,\right) \left.\,\right) (โดยการให้ n = 1)$
$=6\left(\,\right. -1+2\gamma +2 \left(\,\right. -\gamma - 2ln(2) + 2 \left.\,\right) \left.\,\right) $
$=6(3-4ln(2))$
$=6(3-2ln(4))$
$=18-12ln(4)$
ซึ่งก็เป็นคำตอบของ Mathematica เมื่อทำการ FullSimplify นั่นเอง...

เราจะพบว่า Mathematica จะใช้สูตรที่เป็น Generalization เสียเป็นส่วนใหญ่ เราจึง Chk คำตอบจากการ Solve มือค่อนข้างยาก เพราะเป็นลักษณะการ Solve ที่เป็นพื้นฐาน เนื่องจาก Mathematica ไม่สนใจวิธีการคิด การคำนวณ จะสนใจเฉพาะคำตอบเท่านั้น เพื่อนำไปประยุกต์ใช้ต่อไป

การจะทำให้ Mathematica คำนวณในลักษณะวิธีทำในลักษณะ Basic ที่พวกเราเรียนนั้น ก็เลยยากมากกว่าการนำสูตรมาแทนค่ากลับไปกลับมาเสียอีก บางคนไม่เข้าใจวิธีการคิดใน Mathematica จึงทำให้งานวิจัยลักษณะ Step by Step ดูด้อยคุณค่าไปเลย... สามารถดูวิธีการคำนวณแบบ Step by Step ในเรื่องอนุพันธ์ อินทิกรัล ฯลฯ ได้ที่ สารสนเทศในการคำนวณทางคณิตศาสตร์ เชิญคลิกเยี่ยมชม...
ตอบพร้อมอ้างอิงข้อความนี้