לדלג לתוכן

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

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

הקדמה:

  • המטרה היא למצוא ערכי ביניים של פונקציה מתוך ערכים בדידים ידועים ומדוייקים.
  • מתוך 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,i≠nN(x−xi)Πi=0,i≠NN(xn−xi)=(x−x0)(x−x1)⋯(x−xn−1)(x−xn+1)(xn−x0)(xn−x1)⋯(xn−xn−1)(xn−xn+1)

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

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

 L0(x)=x−x1x0−x1L1(x)=x−x0x1−x0

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

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

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

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


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

 p(x)=a0+a1x+a2x2+⋯+anxn  ⇔p(x)=b0+b1(x−x0)+b2(x−x0)(x−x1)+⋯+bn(x−x0)(x−x1)⋯(x−xn−1

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

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

 P(x1)=b0+b1(x1−x0)=f(x1)⇒b1=f1−f0x1−x0

 P(x2)=b0+b1(x1−x0)+b2(x−x0)(x−x1)⇒b2=[f(x2)−f(x1)(x2−x1)−f(x1−f(x0(x1−x0)x2−x0]

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

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

 F[xi]=f(xi)

 F[xi,xj]=F(xi)−f(xjxi−xj

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

 ⋮

 F[xi,xi−1,⋯,x0]=F[xi,xi−1,⋯,x1]−F[xi−1,xi−2,⋯,x0]xi−x0

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

 b0=f(x0)

 b1=f[x1,x0]

 b2=f[x2,x1,x0]

 ⋮

 bn=f[xn,xn−1,⋯,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