วิธีการเขียน Taylor Series ใน Python

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

ขั้นตอนที่ 1

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

วิดีโอประจำวันนี้

ขั้นตอนที่ 2

เขียนค่าอนุพันธ์อันดับที่ n ของฟังก์ชันไซน์ที่ประเมินไว้ที่ 0 ลงไปหลายค่า ถ้า n เป็น 0 ค่าจะเป็น 0 ถ้า n คือ 1 ค่าคือ 1 ถ้า n เป็น 2 ค่าจะเป็น 0 ถ้า n เป็น 3 ค่าจะเป็น -1 จากที่นี่ รูปแบบจะเกิดซ้ำ ดังนั้นไม่ต้องสนใจทุกคำที่จัดทำดัชนีคู่ของซีรีส์ Taylor เนื่องจากมันถูกคูณด้วย 0 สูตรสำหรับแต่ละเทอมของอนุกรมผลลัพธ์คือ:

(-1)^n/(2n+1)!*x^(2n+1)

ใช้ "2n+1" แทน "n" เพื่อจัดทำดัชนีชุดข้อมูลใหม่ โดยจะละทิ้งคำที่จัดทำดัชนีคู่อย่างมีประสิทธิภาพโดยไม่ต้องเปลี่ยนดัชนีเอง ปัจจัย (-1)^n อธิบายการสลับระหว่างค่าบวกและค่าลบของพจน์ที่ต่อเนื่องกัน งานคณิตศาสตร์เบื้องต้นนี้อาจดูเหมือนไม่เกี่ยวข้อง แต่โค้ด Python จะเขียนและนำกลับมาใช้ใหม่ได้ง่ายกว่ามากในซีรีส์ Taylor อื่น ๆ หากดัชนีเริ่มต้นที่ 0 เสมอและนับขึ้นทีละ 1

ขั้นตอนที่ 3

เปิดล่าม Python เริ่มต้นด้วยการพิมพ์คำสั่งต่อไปนี้เพื่อกำหนดตัวแปรหลายตัว:

ผลรวม = 0 x = .5236

ตัวแปร "sum" จะถูกใช้เพื่อสะสมผลรวมของอนุกรม Taylor เมื่อคำนวณแต่ละพจน์ ตัวแปร "x" คือมุม (เป็นเรเดียน) ที่คุณต้องการประมาณฟังก์ชันไซน์ ตั้งเป็นอะไรก็ได้ตามใจชอบ

ขั้นตอนที่ 4

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

นำเข้าคณิตศาสตร์

ขั้นตอนที่ 5

เริ่มต้นการวนซ้ำ "for" ตั้งค่าจำนวนการวนซ้ำด้วยฟังก์ชัน "range":

สำหรับ n ในช่วง (4):

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

ขั้นตอนที่ 6

พิมพ์คำสั่งต่อไปนี้เพื่อเพิ่มค่าของแต่ละคำที่ต่อเนื่องกันเป็น "sum:"

sum += math.pow(-1,n)/math.factorial (2*n+1)*math.pow (x, 2*n+1)

โปรดสังเกตว่าคำสั่งนั้นเยื้องด้วยแท็บ ซึ่งระบุให้ Python ทราบว่าคำสั่งนั้นเป็นส่วนหนึ่งของลูป "for" โปรดทราบว่ามีการใช้ "pow" และ "factorial" แทน "^" และ "!" สัญกรณ์ สูตรทางด้านขวาของโอเปอเรเตอร์การกำหนด "+=" จะเหมือนกับสูตรในขั้นตอนที่ 2 แต่เขียนด้วยไวยากรณ์ Python

ขั้นตอนที่ 7

กด "Enter" เพื่อเพิ่มบรรทัดว่าง สำหรับ Python สิ่งนี้บ่งชี้ถึงการสิ้นสุดของลูป "for" ดังนั้นการคำนวณจึงถูกดำเนินการ พิมพ์คำสั่ง "sum" เพื่อแสดงผลลัพธ์ หากคุณใช้ค่าของ x ที่ให้ไว้ในขั้นตอนที่ 3 ผลลัพธ์จะใกล้เคียงกับ .5 มาก ซึ่งก็คือไซน์ของ pi/6 ลองกระบวนการอีกครั้งสำหรับค่า x ที่แตกต่างกันและจำนวนการวนซ้ำหลายๆ ครั้งของลูป โดยตรวจสอบผลลัพธ์ของคุณกับฟังก์ชัน "math.sin (x)" คุณได้ปรับใช้ใน Python ซึ่งเป็นกระบวนการที่คอมพิวเตอร์จำนวนมากใช้ในการคำนวณค่าสำหรับไซน์และฟังก์ชันเหนือธรรมชาติอื่นๆ

เคล็ดลับ

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

หมวดหมู่

ล่าสุด

วิธีเชื่อมต่อสวิตช์อีเธอร์เน็ต

วิธีเชื่อมต่อสวิตช์อีเธอร์เน็ต

สวิตช์โฮมหรือสำนักงานขนาดเล็ก สวิตช์เป็นอุปกรณ...

วิธีการต่อสายโฟโตอิเล็กทริค

วิธีการต่อสายโฟโตอิเล็กทริค

สวิตช์ตาแมวใช้ในแสงกลางแจ้ง สวิตช์โฟโตอิเล็กทร...

Sensibo ให้คุณควบคุมเครื่องปรับอากาศได้จากทุกที่

Sensibo ให้คุณควบคุมเครื่องปรับอากาศได้จากทุกที่

เครดิตรูปภาพ: เซ็นซิโบ เมื่ออากาศข้างนอกร้อนจนท...