Articles List

Mathematics

อนุกรมเทย์เลอร์มาจากไหน? เฉลยกลไกการประมาณฟังก์ชันสุดมหัศจรรย์

Header Image

ก่อนที่จะเริ่ม

บทความนี้จัดทำมาเพื่อชดใช้กรรมของตัวเองที่ไม่ได้ตั้งใจเรียนในช่วงปี 1 (555) ดังนั้นเนื้อหาภายในบทความนี้จะ assume ว่าผู้อ่านน่าจะพอมีความรู้พื้นฐานเกี่ยวกับแคลคูลัสมาบ้างแล้ว อย่างน้อยก็ระดับมัธยมปลาย

บทความนี้เหมาะสำหรับผู้ที่สนใจทั่วไป นักเรียน นักศึกษา หรือคนที่นอนไม่หลับเพราะคาใจว่าอนุกรมนี้ถูกเสกมาจากไหน

อนุกรมเทย์เลอร์ (Taylor series)

ในทางคณิตศาตร์ อนุกรมเทย์เลอร์คือฟังก์ชันที่เขียนในรูปแบบผลรวมของอนุกรมอนันต์ โดยใช้สำหรับประมาณค่าของฟังก์ชันใด ๆ ในบริเวณจุด ๆ หนึ่ง เนื่องจากบางฟังก์ชันที่ซับซ้อนสามารถคำนวณเพื่อประมาณค่าได้ง่ายกว่าหากนำมาเขียนในรูปอนุกรมเทย์เลอร์

อนุกรมนี้สำคัญมากในการคำนวณทางคอมพิวเตอร์ เนื่องจากช่วยให้สามารถประมาณค่าของฟังก์ชันที่ซับซ้อนในขอบเขตที่กำหนดโดยใช้แค่อนุกรมเพียงไม่กี่พจน์เท่านั้น

สมมุติว่าเรามีฟังก์ชันf(x) ซึ่งเป็นฟังก์ชันที่ซับซ้อน หรือคำนวณค่าที่เป็นเลขสวย ๆ ได้ยาก เช่น sin(x) cos(x) หรือ e^x เราสามารถเขียนในรูปแบบอนุกรมเทย์เลอร์ได้ดังนี้

$$f(x)=f(a)+\frac{f'(a)}{1!}(x-a)+\frac{f''(a)}{2!}(x-a)^2+\frac{f^{(3)}(a)}{1!}(x-a)^3+\cdots \\~\\ =\sum_{n=0}^{\infty}\frac{f^{(n)}(a)}{n!}(x-a)^n$$

เมื่อ a คือบริเวณจุดที่เราสนใจ และจำนวนพจน์จะมีกี่จำนวนก็ได้ขึ้นอยู่กับความแม่นยำที่เราต้องการ กล่าวคือหากเลือกค่า a เป็นตัวใดก็ตามและยิ่งกระจายหลายพจน์ จะยิ่งทำให้ f(x) เมื่อ x มีค่าใกล้ a ประมาณค่าได้แม่นยำมากขึ้น

ตัวอย่างการใช้งาน

สมมุติว่าเรามีฟังก์ชัน f(x) = sin(x) เรารู้ว่าฟังก์ชันนี้สามารถรู้ค่าได้เลยหาก x เป็นค่าที่เราคุ้นเคยเป็นอย่างดี เช่น f(π) = 0 f(π/4) = sqrt(2)/2 หรือ f(π/6) = 1/2 เป็นต้น แล้วถ้าเราอยากรู้ค่าของ f(0.5) ล่ะ?

ดังนั้นเราจะลองใช้สูตรอนุกรมเทย์เลอร์เฉพาะ 4 พจน์แรกเข้ามาช่วยประมาณค่า

เนื่องจากว่าเราสนใจค่า 0.5 ในตัวอย่างนี้จะขอเลือก a = 0 เนื่องจากง่ายต่อการคำนวณมากกว่า ดังนั้นจะสามารถเขียนเป็นรูปอนุกรมได้ดังนี้

$$f(x)=\sum_{n=0}^{3}\frac{f^{(n)}(0)}{n!}x^n \\~\\ \downarrow \\~\\ f(x)=f(0)+\frac{f'(0)}{1!}x+\frac{f''(0)}{2!}x^2+\frac{f^{(3)}(0)}{3!}x^3$$

ทีนี้เราก็หาค่าและอนุพันธ์ของ f(0) ตั้งแต่ลำดับ 1 ถึง 3 (ถ้าจำวิธีไม่ได้ก็เปิดสูตรอนุพันธ์ซะ)

$$f(0)= \sin0=0 \\ f'(0)=\cos0=1 \\ f''(0)=-\sin0=0\\ f^{(3)}(0)=-\cos0=-1 \\$$

จากนั้นเราก็แทนค่าลงไปในสูตร

$$f(x)=0+\frac{1}{1!}x+\frac{0}{2!}x^2+\frac{-1}{3!}x^3$$

ตัดพจน์ที่มี 0 ออกและจัดรูปใหม่จะกลายเป็น

$$f(x)=x-\frac{1}{3!}x^3$$

เมื่อแทนค่าด้วย 0.5 เราจะได้ว่า

$$f(0.5)=f\bigg(\frac{1}{2}\bigg)=\frac{1}{2}-\frac{1}{3!}\cdot\bigg(\frac{1}{2}\bigg)^3 \\~\\ =\frac{1}{2}-\frac{1}{6}\cdot\frac{1}{8} \\~\\ =\frac{1}{2}-\frac{1}{48} \\~\\ =\frac{23}{48}\approx0.479167$$

เมื่อนำค่าประมาณมาเทียบกับเครื่องคิดเลข จะเห็นว่าค่าที่เราหาได้นั้นถือว่ามีความแม่นยำแทบจะ 100% เลย

image

f(x) = sin(x) (เส้นสีดำ) และ p(x) = x - 1/3! * x^3 (เส้นสีเหลือง)

จะเห็นได้ว่าอนุกรมเทย์เลอร์เป็นเหมือนฟังก์ชันที่พยายามเลียนแบบฟังก์ชันจริง เพื่อใช้ประมาณค่าและคำนวณได้ง่ายกว่า ในบริเวณที่ x = 0 (รอบจุด a = 0)

หลักการที่แท้จริงของอนุกรมเทย์เลอร์

ก่อนอื่นเราจะต้องเข้าใจทฤษฎีบทเบื้องต้นเสียก่อน จึงจะทำให้บรรลุแนวคิดของอนุกรมเทย์เลอร์ นั่นคือ

ทุกฟังก์ชัน f(x) ต่อเนื่องใด ๆ ซึ่ง x เป็นจำนวนจริงที่อยู่ในช่วงปิด [a, b] ไม่ว่าฟังก์ชันจะซับซ้อนแค่ไหน เราสามารถหาพหุนาม p(x) ที่ทำให้ |f(x)-p(x)| < ε ได้เสมอ

อธิบายเป็นภาษาง่าย ๆ ก็คือ ทุกฟังก์ชันที่ต่อเนื่อง เราสามารถใช้พหุนาม (a+bx+cx^2+...) ในการประมาณค่าของฟังก์ชันในช่วงที่กำหนดได้ และสามารถทำให้มีค่าคลาดเคลื่อน (ε) ต่ำเท่าที่ต้องการได้

อนุกรมเทย์เลอร์มาจากการสร้างพหุนาม p(x) ที่พยายามเลียนแบบฟังก์ชัน f(x) ให้เท่ากันที่จุด x = a รวมถึงอนุพันธ์ทุกลำดับด้วย

ทีนี้เรามาลองดูวิธีแบบ step by step กันดีกว่า
สมมุติว่าเราจะสร้างพหุนาม p(x) ดีกรี 4 เพื่อเลียนแบบฟังก์ชัน f(x) = e^x ที่จุด x = a โดยกำหนดให้ a = 0

image

f(x) = e^x

พนุนามดีกรี 4 จะเขียนในรูปต่อไปนี้

$$p(x)=c_0+c_1x+c_2x^2+c_3x^3+c_4x^4$$

หน้าที่ของเราก็คือการหาค่าสัมประสิทธิ์ c0 ถึง c4 ที่ทำให้ p(0) มีค่าเท่ากับ f(0)

โดยขั้นแรกเราจะตั้งสมการโดยกำหนดให้ค่าของทั้งสองฟังก์ชันเท่ากันก่อน

$$p(0)=f(0) \\~\\ c_0+c_1(0)+c_2(0)^2+c_3(0)^3+c_4(0)^4 = e^0 \\~\\ c_0 = 1 \\~\\ \downarrow \\~\\ p(x)=1$$
image

f(x) = e^x (เส้นสีดำ) และ p(x) = 1 (เส้นสีเหลือง)

จากการแก้สมการจะทำให้ได้ค่า c0 มาเนื่องจาก x = 0 ทำให้ c1 ถึง c4 หายไปหมด จึงเหลือ c0 ซึ่งเป็นค่าคงที่

แต่ทีนี้ p(x) ยังมีความแม่นยำเพียงจุดเดียว ดังนั้นเราจะหาค่าสัมประสิทธิ์ตัวต่อไปกัน

แนวคิดก็คือนอกจากค่าของฟังก์ชัน p(0) ต้องเท่ากับ f(0) แล้ว อัตราการเปลี่ยนแปลงหรืออนุพันธ์ของทั้งสองฟังก์ชัน ที่ a = 0 ก็ควรจะเท่ากันด้วย ดังนั้นเราจะหาอนุพันธ์ทั้งสองข้างแล้วมาลองแก้สมการดูกัน

$$p'(x)=c_1+2\cdot c_2x+3\cdot c_3x^2+4\cdot c_4x^3 \\~\\ f'(x)=e^x \\~\\ p'(0)=f'(0) \\~\\ c_1+2\cdot c_2(0)+3\cdot c_3(0)^2+4\cdot c_4(0)^3 = e^0 \\~\\ c_1 = 1 \\~\\ \downarrow \\~\\ p(x)=1+x$$
image

f(x) = e^x (เส้นสีดำ) และ p(x) = 1 + x (เส้นสีเหลือง)

ทีนี้ก็จะได้ค่า c1 ไปแทนที่ในพหุนามได้แล้ว จะทำให้อนุพันธ์ของ p(0) มีค่าเท่ากับอนุพันธ์ของ f(0) ยิ่งทำให้อนุพันธ์ลำดับสูง ๆ ของสองฟังก์ชันนี้เท่ากัน พหุนาม p(x) จะยิ่งมีหน้าตาใกล้เคียงกับ f(x) มากขึ้น ในการหาค่าสัมประสิทธิ์ต่อไปก็จะใช้วิธีเดียวกันแบบนี้ไปเรื่อย ๆ

มาลองดูกัน

$$p''(x)=2\cdot c_2+3\cdot2\cdot c_3x+4\cdot3\cdot c_4x^2 \\~\\ f''(x)=e^x \\~\\ p''(0)=f''(0) \\~\\ 2\cdot c_2+3\cdot2\cdot c_3(0)+4\cdot3\cdot c_4(0)^2 = e^0 \\~\\ 2\cdot c_2 = 1 \\~\\ c_2 = \frac{1}{2} \\~\\ \downarrow \\~\\ p(x)=1+x+\frac{1}{2}x^2$$
image

f(x) = e^x (เส้นสีดำ) และ p(x) = 1 + x + (1/2) * x^2 (เส้นสีเหลือง)

หาค่า c3 ด้วยอนุพันธ์ลำดับที่ 3

$$p^{(3)}(x)=3\cdot2\cdot c_3+4\cdot3\cdot2\cdot c_4x \\~\\ f^{(3)}(x)=e^x \\~\\ p^{(3)}(0)=f^{(3)}(0) \\~\\ 3\cdot2\cdot c_3+4\cdot3\cdot2\cdot c_4(0) = e^0 \\~\\ 6\cdot c_3 = 1 \\~\\ c_3 = \frac{1}{6} \\~\\ \downarrow \\~\\ p(x)=1+x+\frac{1}{2}x^2+\frac{1}{6}x^3$$
image

f(x) = e^x (เส้นสีดำ) และ p(x) = 1 + x + (1/2) * x^2 + (1/6) * x^3 (เส้นสีเหลือง)

สุดท้าย หาค่า c4 ด้วยอนุพันธ์ลำดับที่ 4

$$p^{(4)}(x)=4\cdot3\cdot2\cdot c_4 \\~\\ f^{(4)}(x)=e^x \\~\\ p^{(4)}(0)=f^{(4)}(0) \\~\\ 4\cdot3\cdot2\cdot c_4= e^0 \\~\\ 24\cdot c_4 = 1 \\~\\ c_4 = \frac{1}{24} \\~\\ \downarrow \\~\\ p(x)=1+x+\frac{1}{2}x^2+\frac{1}{6}x^3+\frac{1}{24}x^4$$
image

f(x) = e^x (เส้นสีดำ) และ p(x) = 1 + x + (1/2) * x^2 + (1/6) * x^3 + (1/24) * x^4 (เส้นสีเหลือง)

ที่นี้เราก็สามารถสร้างพหุนามดีกรี 4 สำหรับเลียนแบบ f(x) = e^x ได้แม่นยำระดับนึงแล้ว

ลองสังเกตว่าเวลาหาอนุพันธ์ลำดับต่าง ๆ จะทำให้พจน์ก่อนหน้าหายไปเนื่องจากการอนุพันธ์ และจะทำให้พจน์ที่มีดีกรีสูงกว่าหายไปด้วยเนื่องจากกำหนดให้ x = 0

ตัวอย่างเช่น ต้องการหาอนุพันธ์ลำดับที่ 3 จะเป็นดังนี้

$$p(x)=c_0+c_1+c_2x^2+c_3x^3+c_4x^4+c_5x^5+\cdots+c_nx^n \\~\\ p^{(3)}(x)=3\cdot2\cdot c_3+4\cdot3\cdot2\cdot c_4x+5\cdot4\cdot3\cdot c_4x^2+\cdots \\~\\ p^{(3)}(0)=3\cdot2\cdot c_3+\cancel{4\cdot3\cdot2\cdot c_4(0)}+\cancel{5\cdot4\cdot3\cdot c_4(0)^2}+\cancel{\cdots} \\~\\ p^{(3)}(0)=3\cdot2\cdot c_3$$

ทีนี้ลองมาเขียนให้อยู่ในรูปทั่วไปดู

$$p^{(3)}(0)=3\cdot2\cdot c_3 \\~\\ p^{(3)}(0)=3!\cdot c_3 \\~\\ p^{(n)}(0)=n!\cdot c_n$$

และเนื่องจาก p(0) = f(0) สำหรับอนุพันธ์ทุกลำดับ

$$p^{(n)}(0)=n!\cdot c_n=f^{(n)}(0) \\~\\ n!\cdot c_n=f^{(n)}(0) \\~\\ c_n=\frac{f^{(n)}(0)}{n!}$$

ทีนี้เราก็จะได้ค่า c_n สำหรับทุกพจน์ในพหุนามแล้ว
ดังนั้นก็สามารถแทนค่าลงในรูปทั่วไปของพนุนามได้ดังนี้

$$p(x)=c_0+c_1+c_2x^2+c_3x^3+c_4x^4+c_5x^5+\cdots+c_nx^n \\~\\ p(x)=\frac{f(0)}{0!}+\frac{f'(0)}{1!}+\frac{f''(0)}{2!}x^2+\frac{f^{(3)}(0)}{3!}x^3+\cdots+\frac{f^{(n)}(0)}{n!}x^n \\~\\ p(x)=\sum_{n=0}^\infty \frac{f^{(n)}(0)}{n!}x^n$$

อันที่จริงการที่พิจารณารอบจุด a = 0 เรียกว่า อนุกรมแมคลอรีน เป็นการประยุกต์มาจากสูตรทั่วไปของอนุกรมเทย์เลอร์อีกที
ถ้าหากเราสนใจรอบจุด a ก็เพียงพิจารณาฟังก์ชันในจุด a และสร้างพหุนามโดยที่ให้ x - a ก็จะกลายเป็นสูตรอนุกรมเทย์เลอร์ทั่วไปที่เรารู้จักกันนั่นเอง

$$p(x)=\sum_{n=0}^{\infty}\frac{f^{(n)}(a)}{n!}(x-a)^n$$

สรุป

แนวคิดหลักของอนุกรมเทย์เลอร์ คือการสร้างพหุนามเพื่อเลียนแบบฟังก์ชันใด ๆ รอบจุด a โดยพยายามทำให้ความโค้งหรืออัตราการเปลี่ยนแปลงใกล้เคียงกับฟังก์ชันจริงมากที่สุด และเมื่อฟังก์ชันมีวิธีคำนวณที่ซับซ้อน การประมาณค่าในรูปแบบพหุนามที่เราสร้างนั้นอาจจะง่ายกว่า อนุกรมเทย์เลอร์ยังสามารถนำไปประยุกต์ได้หลายสาขา เช่น ฟิสิกส์ วิศวกรรม รวมไปถึง AI อีกด้วย

โดยทั้งหมดที่กล่าวมานั้นเป็นเพียงแค่หลักการเบื้องต้นเท่านั้น บางฟังก์ชันอาจจะไม่สามารถประมาณค่าได้มากกว่านี้หากจำนวนพจน์สูงขึ้น แต่สำหรับบทความนี้ก็น่าจะเพียงพอที่จะให้ผู้อ่านเข้าใจแนวคิดเบื้องต้นของอนุกรมเทย์เลอร์แล้ว หวังว่าจะช่วยให้ผู้อ่านเข้าใจที่มาที่ไปอยู่บ้าง ไม่มากก็น้อย :D

Authored by Shiroronekonene

Back to Articles List

เข้าร่วม Discord Server ของพวกเราอยู่เพื่อพูดคุยและติดตามข่าวสารต่าง ๆ ภายในชุมชน!