140 likes | 457 Views
NUMERICAL SOLUTION OF ORDINARY DIFFERENTIAL EQUATIONS. פתרון נומרי של משוואות דיפרנציאליות רגילות. עם תנאי התחלה:. אנחנו מניחים כי מתקיימים תנאים מספיקים לקיומו של פתרון יחיד של הבעיה בסביבה של 0 x , דהיינו: ( y , x ) f רציפה ברצועה קיים קבוע L כזה שלכל וכל y , * y.
E N D
פתרון נומרי של משוואות דיפרנציאליות רגילות עם תנאי התחלה: • אנחנו מניחים כי מתקיימים תנאים מספיקים לקיומו של פתרון יחיד של הבעיה • בסביבה של 0x, דהיינו: • (y,x)f רציפה ברצועה • קיים קבוע L כזה שלכל וכל y, *y המטרה שלנו היא לפתור משוואה דיפרנציאלית רגילה (תנאי ליפשיץ) אם רציפה וחסומה אזי תנאי ליפשיץ מתקיים. בפרק הזה נשתמש בסימן (x)Y עבור הפתרון המדויק של הבעיה. בנוסף, נסמן:
משוואות דיפרנציאליות רגילות (המשך) פתרון אנליטי: דוגמא: לצערנו, פתרונות אנליטיים ידועים רק במקרים בודדים. במקרים אחרים נעזרים בפתרונות נומריים. פתרון נומרי נותן ערכים של y בסדרת נקודות {xi }. שיטות לפתרון נומרי ניתן לחלק ל-2 קבוצות: • שיטות צעד יחיד. כדי לחשב yiבנקודה xi דרוש מידע רק ב 1-xi • שיטות צעדים מרובים - דרוש מידע במספר נקודות קודמות שיקולים חשובים עבור שיטות נומריות: • מהי השגיאה בכל צעד הפתרון (שגיאת קיטוע ושגיאת העגלה) ואיך שגיאה זאת משפיעה על תוצאות צעדים הבאים (הפצת השגיאה ויציבות) • האם ניתן בקלות להעריך את השגיאה בכל צעד הפתרון על בסיס תוצאות החישוב הידועות עד כה • איך מתחילים את הפתרון (חשוב בשיטות צעדים מרובים) • מהירות השיטה
שיטת אוילר (Euler) זאת שיטת צעד יחיד, ז"א חישוב של הפתרון 1+yiבנקודה 1+xi מבוסס רק על ערך הפתרון yiבנקודה הקודמת. עיקרון השיטה ברור מהגרף הבה: נתחיל מהשיטה הפשוטה ביותר – שיטת אוילר. 1y פתרון נומרי את נוסחאות השיטה אפשר לפתח, למשל, בעזרת טור טיילור: 1Y פתרון מדויק 0Y h0 0x 1x שגיאת הקיטוע אם מזניחים את שגיאות הקיטוע אזי מקבלים: או, בצורה מפורשת יותר:
שיטת טור טיילור כאשר בעזרת טור טיילור ניתן לפתח שיטות מדויקות יותר: שיטת אוילר מתקבלת כאשר קוטעים את הטור החל מהאיבר השלישי. שגיאת הקיטוע במקרה הזה היא (2h)O. אם משאירים את האבר (2h)O כחלק מנוסחת השיטה וקוטעים את שאר הטור – מקבלים שגיאה קטנה יותר - (3h)O. וכן הלאה... כך אפשר לבנות שיטה מהסדר הרצוי. נדגיש כי שגיאת הקיטוע מתווספת לשגיאה הכללית בכל צעד של הפתרון. לפי כך היא גם נקראת "שגיאה מקומית" ומסומנת כ T(T ממילה " trancation"). כדי לפתור את המשדי"פ בקטע [b, a] דרוש לבצע /h(a-b) צעדים. אם שגיאה מקומית בכל צעד היא (hm)Oאזי השגיאה הכללית המצטברת היאלפחות (1hm-)O
דוגמת פתרון לפי שיטת טור טיילור בקטע עם תנאי התחלה הפתרון האנליטי של הבעיה הוא כך שנוכל להשוות איתו את הפתרון הנומרי. פתרון לפי שיטת אוילר: נבחר ב- 0.1=hונבצע 5 צעדים: דרוש לפתור את המשוואה: תוצאות החישוב והשגיאה המצטברת רשומים בטבלה:
דוגמת פתרון לפי שיטת טור טיילור (המשך) בצעד האחרון פתרון מסדר גבוה (T=O(h5 רואים כי השגיאה מצטברת לסדר (h). O נעריך את השגיאה המקומית .
דוגמת פתרון לפי טור טיילור מסדר 4 (המשך) נמשיך באותה הדרך לצעדים הבאים כאשר בנוסחאות הנגזרות נציב 1x,2x, ... תוצאות החישוב שוב נציג בטבלה נציב את הנגזרות בנוסחת השיטה ונקבל: התוצאות מדויקות מאד כצפוי מהשיטה מסדר גבוה. לשיטה הזאת יש גם חסרונות – היא לא תמיד יציבה ולא נוחה ליישום ממוחשב
שיטת אוילר משופרת (מנבא-מתקן ( חוסר הדיוק של השיטה נובע מי כך שמחשבים את 1+yi לפי שיפוע הפתרון בתחילת הצעד (בנקודה xi). ניתן לשפר את הדיוק אם נשתמש בממוצע של השיפועים בתחילתו ובסופו של הצעד: ראינו כי שגיאת הקיטוע בשיטת אוילר היא מסדר 2 והשגיאה הכללית – (h)O. Predictor פתרון מדויק אבל מהו הערך של 1+y'i? 0Y נמצא אותו כקירוב גס של שיטת אוילר המקורית. h0 לסיכום, השיטה החדשה היא דו-שלבית. בשלב הראשון מחשבים את הערך המנובא (predicted): 0x 1x ובשלב הבא – את הערך המתוקן (corrected): אפשר לחזור על התיקון מספר פעמים עד שלא יהיה שינוי משמעותי ב- 1+yiהמתוקן
שיטת רונגה-קוטא (Runge-Kutta) מסדר 2 את המקדמים נמצא מהתנאי ששגיאת הקיטוע תהיה (3h)O. נשתמש בטור טיילור: שיטת רונגה-קוטא היא גם שיטה מסוג "מנבא-מתקן" אך כללית יותר משיטת אוילר משופרת. השיטה מוגדרת לפי נוסחאות הבאות: מצד שני, לפי נוסחאות השיטה: את האיבר האחרון נפתח בטור טיילור:
:RK2 שיטות רונגה-קוטא (Runge-Kutta) מסדר 2 נשאר רק להשוות בין התוצאה הזאת לבין הטור שבשקף הקודם. שני הביטויים יהיו זהים עד לאיבר השגיאה מסדר (3h)O אם וכאשר יתקיימו המשוואות: שיטת אוילר המשופרת היא מקרה פרטי של שיטת רונגה-קוטא מסדר 2 - 2RK שמתקבלת כאשר ½=b=aו 1=β=α. שגיאת הקיטוע בשיטות האלו היא מסדר 3. נציב את הטור בחזרה לביטוי של 2K ונזניח את אבר השגיאה. נקבל:
4RK היא השיטה הכי נפוצה! בדרך הזאת ניתן לפתח שיטת רונגה-קוטה מסדר גבוה יותר. נוסחאות השיטה 4RK מסדר 4 הן: שיטות רונגה-קוטא (Runge-Kutta) מסדר 4
הערכה של שגיאת קיטוע בשיטות רונגה-קוטא נניח כי ביצענו n צעדים לפי שיטת RK מסדר m. רוצים להעריך שגיאת הקיטוע בצעד הבא. כדי לעשות זאת נבצע 2 צעדים בגודל h ונקבל הערך 2+yn. אחר כך נחזור ונבצע צעד אחד בגודל כפול ונקבל ערך . נשווה את התוצאות: שיטות רונגה-קוטא מאפשרות הערכה יעילה של שגיאות קיטוע בכל צעד הפתרון. עושים זאת ע"י אקסטראפולציית ריצ'רדסון. שימו לב כי לקחנו בחשבון ששגיאה מקומית בשיטה מסדר m היא (1hm+)O. הנחנו גם כי המקדם C הוא אותו המקדם בשני החישובים. משתי המשוואות הנ"ל ניתן לחלץ את השגיאה המקומית של הצעד בגודל h: שיטת אוילר משופרת היא מסדר 2 (2m=) כך ששגיאת הקיטוע היא
(נבחר ב- 0.1=(h דוגמה של פתרון לפי שיטת רונגה-קוטא נפתור את הבעיה בשיטת RK4 ונעריך את השגיאה: כדי להעריך את השגיאה נבצע עוד צעד אחד עם 0.1=h ואחר כך נחזור ונבצע צעד אחד בגודל כפול. נקבל: נשווה את הפתרון הנומרי 2y עם הפתרון המדויק: קרוב מאד לשגיאה המצטברת אחרי 2 צעדים!