אנליזה נומרית/פתרון משוואות דיפרנציאליות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Mintz l (שיחה | תרומות)
מאין תקציר עריכה
Mintz l (שיחה | תרומות)
מאין תקציר עריכה
שורה 1:
{{אנליזה נומרית}}
 
נעבוד עם המקטעים <math>\ x_i=x_0+ih \ ,\quad i\in \mathbb{N}</math>. נתרכז במציאת פתרון לבעיה <math>\ y'(x)=f(x,y)</math>, עם תנאי ההתחלה <math>\ y(x_0)=y_0</math>.
 
מכאן והלאה, הסימול <math>\ y(x_i)</math> יציין הערך האנליטי המדוייק של הפונקציה בנקודה x<sub>i</sub>, ואילו <math>\ y_i</math> יציין את הערך המקורב שחושב באמצעות השיטה. שימו לב כי במקרים מיוחדים יתכן שהערכים זהים, כלומר: לפעמים <math>\ y(x_i)=y_i</math>.
שורה 26:
 
שיטת אוילר היא פתרון באמצעות טור טיילור, כאשר לוקחים שני איברים ראשונים בלבד, דבר אשר חוסך חישוב נגזרות על חשבון פגיעה בדיוק הפתרון:
:<math>\ y_{i+1}=y_i+hy_i'+ R_2= y_i+hf(x_i,y_i)+ R_2O(h^2)</math>
 
===קישורים חיצוניים===
{{מיזמים|ויקיפדיה=en:Euler integration|שם ויקיפדיה=שיטת אוילר (אנגלית)}}
 
==פתרון בשיטות רונגה-קוטה==
כפי שראינו, לפי טור טיילור:
:<math>\ y_{i+1}= y_i+hf(x_i,y_i)+ \frac{h^2}{2}\left[ \frac{\partial f(x_i,y_i)}{\partial x}+ \frac{\partial f(x_i,y_i)}{\partial y}f(x_i,y_i) \right]+R_3O(h^3)</math>
נשתמש בשיטה הבאה, אשר מזכירה מעט את משפט לגראנז':
:<math>\ y_{i+1}= y_i+\lambda_1hf(x_i,y_i)+ \lambda_2hf\left[x_i+\mu_1h,y_i+\mu_2hf(x_i,y_i)\right]</math>
שורה 44 ⟵ 47:
 
מאחר ויש לנו 4 נעלמים ורק 3 משוואות, נקבע אחד מהם שרירותית וזאת תהיה המשוואה הרביעית. למשל, לשם נוחות, נקח <math>\ \lambda_1=\tfrac{1}{2}</math> ואז <math>\ \lambda_2=\tfrac{1}{2}\ ,\ \mu_1=\mu_2=1</math>, כך שהשיטה המתקבלת היא:
:<math>\ y_{i+1}= y_i+ \tfrac{1}{2}hf(x_i,y_i)+ \tfrac{1}{2}hf[x_i+h,y_i+hf(x_i,y_i)]+ R_3O(h^3)</math>
 
===שיקולי דיוק===
שורה 50 ⟵ 53:
* בהתאם לגודל האופייני של הבעיה הפיזיקלית נחליט בכמה סדרי גודל על h להיות קטן יותר.
* ערכו של h יכול להשתנות מנקודה לנקודה בהתאם להתנהגות הפונקציה. אם אין גרדיאנטים חריפים מנקודה לנקדוה, ניתן לקחת מרווחים גדולים יותר בלי לפגוע משמעותית בדיוק, כך ש- <math>\ h={c \over y'}= {c \over f(x_i,y_i)}</math>, כאשר c הוא קבוע פרופורציה כלשהו.
 
===קישורים חיצוניים===
{{מיזמים|ויקיפדיה=en:Runge–Kutta methods|שם ויקיפדיה=שיטות רונגה-קוטה (אנגלית)}}
 
==שיטות רב-צעדיות==
שורה 55 ⟵ 61:
:<math>\ y'(x)=f(x,y)\quad\Rightarrow\ \int\limits_{x_i}^{x_{i+1}} \frac{dy}{dx}dx= \int\limits_{x_i}^{x_{i+1}} fdx \quad\Rightarrow\ y_{i+1}-y_i= \int\limits_{x_i}^{x_{i+1}} fdx</math>
נשאר, אם כן, לפתור את האינטגרל <math>\ \int\limits_{x_i}^{x_{i+1}} fdx</math>. לשם כך נבצע החלפת משתנים: <math>\ x=x_i+ \theta h,\ dx=hd\theta,\ 0\le\theta\le 1</math> כך שערכי f המתקבלים בין x<sub>i</sub>,x<sub>i+1</sub> ניתנים לתיאור על ידי: <math>\ f=E^{\theta} f(x_i)</math> ולכן האינטגרל מקבל את הצורה:
:<math>\ \int\limits_0^1 E^{\theta} \overbrace{f(x_i,y_i)h}^{const.}d\theta= \int\limits_0^1 (1-\nabla)^{-\theta}f(x_i,y_i)hd\theta=\int\limits_0^1 hf(x_i,y_i)h\left[ 1+\theta\nabla+ \tfrac{\theta(\theta+1)}{2}\nabla^2+... \right]f(x_i,y_i) d\theta= </math>
:<math>\ = hf(x_i,y_i)h\left.\left[ \theta+{\theta^2\over 2}\nabla+ \left( {\theta^3\over 6}+{\theta^2\over 4} \right)\nabla^2... \right]f(x_i,y_i)\right|_0^1= hf(x_i,y_i)h\left[ 1+{\nabla\over 2}+ {5 \over 12}\nabla^2+ {9\over 24}\nabla^3+... \right]f(x_i,y_i)</math>
כך שככל שנקח יותר איברים, נקבל ביטוי התלוי ביותר נקודות קודמות. שימו לב כי השתמשנו באופרטור הפרשים אחוריים על מנת לקבל תלות בנקודות הקודמות.
 
{{גזור ושמור|שיטה רב-צעדית:<br /><math>\ y_{i+1}= y_i+ hf(x_i,y_i)h\left[ 1+{\nabla\over 2}+ {5 \over 12}\nabla^2+ {93\over 248}\nabla^3+... \right]f(x_i,y_i)</math>}}
 
===דוגמהדוגמאות===
* אם ניקח איבר בודד, נקבל את שיטת אוילר.
(להשלים)
* '''שיטת Adams-Bashforth''': נפתח את 4 האיברים הראשונים שציינו לעיל:
:<math>\ y_{i+1}= y_i+{h\over 24} \left[ 55f(x_i,y_i)-59f(x_{i-1},y_{i-1})+37f(x_{i-2},y_{i-2})-9f(x_{i-3},y_{i-3}) \right]+ O(h^5)\ ,\quad i\ge 3</math>
:*שימו לב כי לשיטה זו יש לספק 3 תנאי התחלה, אשר בדרך כלל מוצאים אותם בשיטת רונגה-קוטה או בשיטת אוילר. כמו כן, על אותה שיטה להשתמש באותו מרווח h.
:*נשווה שיטה זו לשיטת רונגה-קוטה מסדר 4, מבחינת מספר פעולות החישוב: <math>\ \tfrac{R-K}{A-B}= \tfrac{4N}{4\cdot 3+(N-3)}=\tfrac{4N}{N+9}\approx 4</math>, כלומר שיטת רונגה-קוטה איטית פי 4.
:*על מנת להשתמש בשיטה זו עבור '''מערכת מד"ר''', נחליף את הכתיב הסקלרי בכתיב הוקטורי:
::<math>\ \vec y_{i+1}= \vec y_i+{h\over 24} \left[ 55\vec f(x_i,\vec y_i)-59\vec f(x_{i-1},\vec y_{i-1})+37\vec f(x_{i-2},\vec y_{i-2})-9\vec f(x_{i-3},\vec y_{i-3}) \right]+ O(h^5)\ ,\quad i\ge 3</math>
* שיטות נוספות:
:* <math>\ y_{i+1}= y_{i-1}+2hf(x_i,y_i)+ O(h^3)</math>
:* <math>\ y_{i+1}= y_{i-3}+ \tfrac{4h}{3}[2f(x_i,y_i)-f(x_{i-1},y_{i-1})+ 2f(x_{i-2},y_{i-2})] +O(h^5)</math>
 
===קישורים חיצוניים===
{{מיזמים|ויקיפדיה=en:Runge–KuttaMultistep methodsmethod|שם ויקיפדיה=שיטות רונגה-קוטהרב צעדיות (אנגלית)}}
* שיטת [http://mathworld.wolfram.com/AdamsMethod.html אדאמס-באשפורת'] באתר MathWorld.
* שיטת [http://mathews.ecs.fullerton.edu/n2003/AdamsBashforthMod.html אדאמס-באשפורת'] באתר אוניברסיטת CSUF (כולל אנימציות, הוכחות ודוגמאות שימוש).
 
{{אנליזה נומרית|מוגבל=כן}}