מבוא לשיטות נומריות/פתרון מערכת משוואות לא לינאריות

מתוך testwiki
קפיצה לניווט קפיצה לחיפוש

הקדמה: נרצה למצוא את וקטור הנעלמים  x=(x1xn) שמקיים את כל n המשוואות:

 f1(x1,,xn)=0

 

 fn(x1,,xn)=0

מתי:

- כשפותרים בעיות אופטימיזציה (מציאת מינימום/ מקסימום).

- פתרון משוואות דיפרנציאליות ע"י אלגוריתם נומרי.

- עבור משוואות כוחות בצירים שונים.

שיטות פתרון:

1) שיטת ניוטון

2) המרה לבעיית אופטימיזציה.


1) שיטת ניוטון:

קירוב טיילור עובר כל אחת מ- n המשוואות:

 f1(x(k))+Σj=1Nf1(x(k))xj(xj(k+1)xj(k))=0

 

 fN(x(k))+Σj=1NfN(x(k))xj(xj(k+1)xj(k))=0

החלק המסומן בכחול - [F] - הוא ערך הפונקציה בנקודה הנתונה  x(k)

החלק המסומן באדום - [J] - מטריצת הנגזרות הראשונות של וקטור  x(k) (יעקוביאן)

החלק המסומן בירוק - זהו  [ΔX] : השינוי בפתרון בין האיטרציות העוקבות (גודל הצעד).

  • בכתיב מטרציוני:  F+JΔX=0

 Xk+1=Xk+ΔX

  Xk+1=XkJ1F


שלבי פתרון:

1) מנחשים פתרון התחלתי  x(0)

2) פותרים את מערכת המשוואות הלינאריות (מחשבים את  F(x(k)) ואת  J(x(k)) - הנגזרות).

3) נעדכן את הפתרון ונמצא את  x(k+1)

 x1(k+1)=x1(k)+ΔX1(k)

 

 xn(k+1)=xn(k)+ΔXn(k)

4) נחזור על צעדים 2-3 עד להשגת הדיוק הנדרש.


התנאי להתכנסות:

 ||Xk+1Xk||=ΣJ=1n(xjk+1xjk)2<ϵ

 max||ΔX||<ϵ

קריטריון התכנסות - נתון בגוף השאלה.


תכונות השיטה:

  • התכנסות ריבועית
  • חסרונות:

- דרושה נקודת התחלה טובה

- יש לחשב יעקוביאן [J] בכל איטרציה

- יש לפתור מערכת לינארית בכל איטרציה.

  • סיבוכיות עבור כל איטרציה:

-  N2 עבור J ו-  N עבור F, סה"כ  N2+N חישובי פונקציות.

-  O(N3) פעולות לפתרון המערכת הלינארית.


2) המרה לבעיית אופטימיזציה:

מינימיזציה של סכום ריבועי השגיאות במשוואות. ישנה אפשרות להמיר את מערכת המשוואות בבעיית אופטימיזציה.

- נגדיר פונקציה חדשה  g(X):

 g(X)=g(x1,x2,...,xN)=Σi=1N[fi(x1,x2,...,xN)]2

- נדרוש  minxg(x1,x2,...,xN) - פותרים באמצעות אלגוריתם נומרי לאופטימיזציה.

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

ניתן ליישם באמצעות פונקציית solver ב- Excel.