איך לכתוב סדרת טיילור בפייתון

סדרת טיילור היא ייצוג של פונקציה באמצעות סכום אינסופי. מחשבים עושים לעתים קרובות קירובים לערכים של טריגונומטרי, אקספוננציאלי או טרנסצנדנטלי אחר לתפקד על ידי סיכום מספר סופי של האיברים של סדרת טיילור שלו, ותוכל ליצור מחדש את התהליך הזה ב פִּיתוֹן. תנאי הסכום מבוססים על נגזרות עוקבות של הפונקציה, כך שתצטרך לזהות דפוס בערכים של הנגזרות הללו כדי לכתוב נוסחה עבור כל איבר בסדרה. לאחר מכן, השתמש בלולאה כדי לצבור את הסכום, תוך שליטה על דיוק הקירוב שלך עם מספר האיטרציות של הלולאה.

שלב 1

עיין בהגדרה של סדרת טיילור כדי להבין כיצד ניתן לחשב כל מונח. כל איבר של הסדרה מתווסף, בדרך כלל על ידי "n", והערך שלו קשור לנגזרת ה-n של הפונקציה המיוצגת. לשם הפשטות, השתמש ב-0 עבור הערך של "a" בניסיון הראשון שלך. הגרסה המיוחדת הזו של סדרת טיילור נקראת סדרת מקלורין. נסה את פונקציית הסינוס, מכיוון שקל לקבוע את הנגזרות העוקבות שלה.

סרטון היום

שלב 2

רשום מספר ערכים של הנגזרת ה-n של פונקציית הסינוס המוערכת ב-0. אם n הוא 0, הערך הוא 0. אם n הוא 1, הערך הוא 1. אם n הוא 2, הערך הוא 0. אם n הוא 3, הערך הוא -1. מכאן, הדפוס חוזר על עצמו, אז התעלם מכל מונח עם אינדקס זוגי של סדרת טיילור מכיוון שהוא מוכפל ב-0. נוסחה עבור כל איבר של הסדרה המתקבלת היא:

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

"2n+1" משמש במקום "n" לאינדקס מחדש של הסדרה, ולמעשה לזרוק את המונחים עם האינדקס הזוגי מבלי לשנות את האינדקס עצמו. הגורם (-1)^n מסביר את ההחלפה בין חיובי לשלילי של מונחים עוקבים. עבודה מתמטית ראשונית זו עשויה להיראות זרה, אבל את קוד Python יהיה הרבה יותר קל לכתוב ולהשתמש מחדש בסדרות אחרות של טיילור, אם האינדקס מתחיל תמיד ב-0 ונספר כלפי מעלה במרווחים של 1.

שלב 3

פתח את המתורגמן של Python. התחל בהקלדת הפקודות הבאות כדי להגדיר מספר משתנים:

סכום = 0 x = .5236

המשתנה "סכום" ישמש לצבירת הסכום של סדרת טיילור כאשר כל איבר מחושב. המשתנה "x" הוא הזווית (ברדיאנים) שעבורה רוצים לקרב את פונקציית הסינוס. הגדר את זה למה שאתה אוהב.

שלב 4

ייבא את מודול "מתמטיקה" עם הפקודה הבאה כדי שתהיה לך גישה לפונקציות "pow" ו-"פקטוריאליות":

ייבוא ​​מתמטיקה

שלב 5

התחל לולאה "עבור", קבע את מספר האיטרציות עם הפונקציה "טווח":

עבור n בטווח (4):

זה יגרום למשתנה האינדקס, n, להתחיל באפס ולספור עד 4. אפילו מספר קטן זה של איטרציות יניב תוצאה מדויקת להפליא. הלולאה לא מופעלת באופן מיידי ולא תתחיל עד שציינת את כל גוש הקוד שיחזור עליו.

שלב 6

הקלד את הפקודה הבאה כדי להוסיף את הערך של כל מונח עוקב ל-"sum:"

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

שימו לב שהפקודה מסומנת עם טאב, מה שמציין לפייתון שהיא חלק מהלולאה "for". שים לב גם כיצד משתמשים ב-"pow" ו-"fatorial" במקום "^" ו-"!" סִמוּן. הנוסחה מימין לאופרטור ההקצאה "+=" זהה לזו שבשלב 2, אך כתובה בתחביר Python.

שלב 7

לחץ על "Enter" כדי להוסיף שורה ריקה. לפייתון, זה מצביע על סיום לולאת ה-"for", כך שהחישוב מבוצע. הקלד את הפקודה "sum" כדי לחשוף את התוצאה. אם השתמשת בערך של x שניתן בשלב 3, התוצאה קרובה מאוד ל-.5, הסינוס של pi/6. נסה את התהליך שוב עבור ערכים שונים של x ועבור מספרים שונים של איטרציות של הלולאה, בדוק את התוצאות שלך מול הפונקציה "math.sin (x)". יישמת ב-Python את התהליך שבו מחשבים רבים משתמשים כדי לחשב ערכים עבור סינוס ופונקציות טרנסצנדנטליות אחרות.

עֵצָה

הכנס והקלד את הפקודה "sum" בשורה השנייה של לולאת "for" כדי לקבל סה"כ רץ של הסכום עם ביצוע הקוד. זה מגלה כיצד כל איבר עוקב של הסדרה מקרב את הסכום יותר ויותר לערך האמיתי של הפונקציה.