מבוא לשיטות נומריות/אינטרפולציה

מתוך testwiki
גרסה מ־12:04, 5 בינואר 2016 מאת imported>David dash
(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)
קפיצה לניווט קפיצה לחיפוש

הקדמה:

  • המטרה היא למצוא ערכי ביניים של פונקציה מתוך ערכים בדידים ידועים ומדוייקים.
  • מתוך N+1 נקודות ידועות נתאים עקום  g(x) שעובר דרך הנקודות. העקום ימצא ע"י אינטרפולציה פולינומית.

לאחר התאמת העקום ניתן למצוא את ערכי הבינים  f(y)g(y) כאשר  g(y) הוא הפולינום/ הקירוב שמצאנו ו-  f(y) הוא הפונקציה האמיתית/ הערך שאנחנו מחפשים.

מתי:

  • תוצאות ניסויים - ערכים בדידים ולא פונקציה מדוייקת.
  • פתרונות נומריים למשוואות דיפרנציאליות מצריכות אותנו להשתמש בשיטה זו.
  • ערכים מטבלאות - אם נרצה לדעת ערך בין 2 ערכים ידועים וכדומה.

שיטות:

1) פולינום לגרנז'

2) פולינום ניוטון

3) Splines


מציאת עקום האינטרפולציה: הפולינום  p(x)=a0+a1x+a2x2++aNxN=Σn=0Nanxn

דרך N+1 נקודות עובר אך ורק פולינום יחיד.

1) פולינום לגרנז'

המקרה הכללי:

הפולינום:  pN(x)=L0(x)f(x0)+L1(x)f(x1)++LN(x)f(xN)=Σn=0NLn(x)f(xn)

כופלי לגרנז':  Ln(x)=Πi=0,inN(xxi)Πi=0,iNN(xnxi)=(xx0)(xx1)(xxn1)(xxn+1)(xnx0)(xnx1)(xnxn1)(xnxn+1)

עבור 2 נקודות:  (x0,f(x0)),(x1,f(x1))

כופלי לגרנז':

 L0(x)=xx1x0x1L1(x)=xx0x1x0

פולינום האיטרפולציה:

 p(x)=L0(x)f(x0)+L1(x)f(x1)

  • הפולינום עובר דרך שתי הנקודות.

חסרון השיטה: בהתווסף נתון נוסף (נקודה נוספת) יש לבצע את החישוב מחדש.


2) פולינום ניוטון - דרך נוספת לבטא פולינום

 p(x)=a0+a1x+a2x2++anxn  p(x)=b0+b1(xx0)+b2(xx0)(xx1)++bn(xx0)(xx1)(xxn1

  • הקשר בין פולינומים מדרגות שונות עוזר לנו למצוא את ערכי  b0,b1,,bn

 P(x0)=b0=f(x0)b0=f(x0)

 P(x1)=b0+b1(x1x0)=f(x1)b1=f1f0x1x0

 P(x2)=b0+b1(x1x0)+b2(xx0)(xx1)b2=[f(x2)f(x1)(x2x1)f(x1f(x0(x1x0)x2x0]

  • פונקציית ההפרשים הסופיים: טכניקת חישוב לערכי b

נגדיר:  F[x] פונקציה הפרשים סופיים.

 F[xi]=f(xi)

 F[xi,xj]=F(xi)f(xjxixj

 F[xt,xi,xj]=F[xt,xj]F[xi,xj]xtxj

 

 F[xi,xi1,,x0]=F[xi,xi1,,x1]F[xi1,xi2,,x0]xix0

  • כעת ניתן לבטא את b כך:

 b0=f(x0)

 b1=f[x1,x0]

 b2=f[x2,x1,x0]

 

 bn=f[xn,xn1,,x0]


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


3) שיטת ה- Splines

  • כללי: נחלק את התחום למקטעים ולכל מקטע נתאים פולינום.

עבור N+1 נקודות יהיה N מקטעים ולכן גם N פולינומים.

  • בין כל שני פולינומים (מקטעים) נדרוש:

- רציפות בנקודת החיבור.

- רציפות הנגזרת בנקודת החיבור.

- נגזרת שניה רציפה.

  • עבור spline קובי: נתונות n+1 נקודות.

- הפולינום:

 (i=1,...,n)Pi=a01+a1ix+a2ix2+a3ix3

- יש לנו 4n נעלמים (מספר הפולינום) ולכן דורשים 4n משוואות.

- המשוואות:

  • נדרוש שהפולינום יעברו דרך הנקודות הנתונות ונדרוש רציפות:  Pi(xi)=Px+1(xi)=f(xi)

(2n משוואות, עבור נקודת קצה תהיה משוואה אחת בלבד).

  • נדרוש רציפות הנגזרת הראשונה בין כל שני מקטעים:  P'i(xi)=P'i+1(xi)

(n-1 משוואות)

  • רציפות הנגזרת השניה בנקודות פנימיות:  P'i(xi)=P'(i+1)(xi)

(n-1 משוואות)


  • חסרות עוד 2 משוואות:

- תנאי גבול

- קו ישר בנקודות הקצה

 P(x0)=P'n(xn)=0

 P(x0)=P'n(xi)=0