אינטרפולציה

אִינְטֶרְפּוֹלַצְיָה (באנגלית: Interpolation; בעברית: בִּיּוּן) היא שם כולל לשיטות בתחום האנליזה הנומרית. הרעיון המרכזי העומד מאחורי גישה זו היא האפשרות לייצר מידע חדש מאוסף נתונים סופי. בפרט, היכולת לשחזר או ליצור פונקציה שערכה או נגזרותיה ידועים בנקודות מסוימות. בשימושים ההנדסיים, פיזיקליים וכדומה, מטרת האינטרפולציה היא להתאים פונקציה שתקרב בצורה הטובה ביותר את התנהגותו של אובייקט הניסוי. לדוגמה, נניח שבמסגרת ניסוי פיזיקלי נדגום מיקום של גוף במרחב בכל 5 שניות, כשהניסוי נמשך דקה. נקבל 13 נתונים: מיקומו של הגוף בזמן ההתחלה, מיקומו כעבור 5 שניות וכן הלאה. ברור כי אוסף מידע זה אינו מספק את כל המידע על התנהגות הגוף בכל נקודת זמן שהיא במהלך דקת הניסוי. בשלב זה נכנס כלי האינטרפולציה לפעולה ומאפשר ליצור פונקציה המגדירה את המיקום המשוער לכל אורך הניסוי על פי מסד הנתונים שנדגמו. בהינתן סדרה של n {\displaystyle n} נקודות מקור x k {\displaystyle x_{k}} הנקראות צמתים (nodes) ו- n {\displaystyle n} נקודות יעד y k {\displaystyle y_{k}} , אזי הפונקציה f ( x ) {\displaystyle f(x)} : f ( x ) : f ( x i ) = y i ∀ i = 1 … n {\displaystyle f(x):f(x_{i})=y_{i}\quad \forall i=1\ldots n} נקראת אינטרפולציה של הנקודות ( x i , y i ) , x ∈ R m , y ∈ R l , i = 1 , … , n {\displaystyle (x_{i},y_{i}),x\in R^{m},y\in R^{l},i=1,\dots ,n} . נניח כי נתונות 6 נקודות המידע הבאות, המייצגות למשל תוצאות מדידה כלשהי: נרצה לדעת מה ערך הפונקציה הנעלמת בנקודה x = 2.5 {\displaystyle x=2.5} - לשם כך נוכל להיעזר באינטרפולציה. אינטרפולציה היא שם למגוון רחב של כלים נומריים אשר מטרתם לאפשר קירוב של פונקציה שאינה ידועה, או לקרב על ידי עקום נקודות במישור או במרחב (או שילוב של שני האלמנטים הללו). לכל שיטת אינטרפולציה יש יתרונות וחסרונות, ולפני בחירת שיטה זו או אחרת יש להתייחס לכמה בחינות, כגון מידת החלקות של הפונקציה המבוקשת, מספר נקודות המידע העומדות לרשותנו, מידת הדיוק הדרושה, כמות משאבי החישוב הנדרשים כדי לעמוד בדרישותינו ועוד. לאחר התייחסות לשאלות מסוג זה ניתן לבחור שיטה לביצוע אינטרפולציה. בדרך כלל ננסה לדעת בנוגע לכל שיטת אינטרפולציה מהי מידת החלקות של הפונקציה המתקבלת מחד, ומאידך לחקור את ה"טעות" המתקבלת מחישוב ערכים חדשים על ידי הפונקציה המתקבלת מהאינטרפולציה. ערך מורחב – אינטרפולציה ליניארית בשיטה זו, שהיא הפשוטה ביותר לחישוב, נחבר בקו ישר כל שתי נקודות מידע עוקבות. באופן כללי, בהינתן: ( x a , y a ) , ( x b , y b ) {\displaystyle (x_{a},y_{a}),(x_{b},y_{b})} שתי נקודות מידע עוקבות, אזי הפונקציה הליניארית המחברת אותן היא: f ( x ) = x − x b x a − x b y a − x − x a x a − x b y b {\displaystyle f(x)={\frac {x-x_{b}}{x_{a}-x_{b}}}y_{a}-{\frac {x-x_{a}}{x_{a}-x_{b}}}y_{b}} כעת נוכל לענות על השאלה מה ערכה של הפונקציה בנקודה x = 2.5 {\displaystyle x=2.5} . נעשה זאת על ידי בחירת x a = 2 , x b = 3 {\displaystyle x_{a}=2,x_{b}=3} והצבת הערך המבוקש בפונקציה המתקבלת. ברור כי מחד גישה זו קלה לחישוב, אך מאידך תוצאתה אינה מדויקת על פי רוב. חיסרון נוסף בשיטה זו היא שהפונקציה המתקבלת אינה גזירה בנקודות x k {\displaystyle x_{k}} (הצמתים). אינטרפולציה באמצעות פולינום היא הכללה של האינטרפולציה הליניארית. בהינתן אוסף נקודות ( x k , y k ) , k = 1 … n {\displaystyle (x_{k},y_{k}),k=1\ldots n} קיים פולינום אחד ויחיד ממעלה שאינה עולה על   n − 1 {\displaystyle \ n-1} אשר עובר דרך כל הנקודות הנתונות, וכל שנותר הוא לחשב אותו. דרך אחת לחשב פולינום לאינטרפולציה היא באמצעות צורת לגראנז' (אנ'). מגדירים: P j = ∏ k = 1 ; k ≠ j n x − x k x j − x k = ( x − x 1 ) ( x j − x 1 ) ⋯ ( x − x j − 1 ) ( x j − x j − 1 ) ( x − x j + 1 ) ( x j − x j + 1 ) ⋯ ( x − x n ) ( x j − x n ) , {\displaystyle P_{j}=\prod _{k=1;k\neq j}^{n}{\frac {x-x_{k}}{x_{j}-x_{k}}}={\frac {(x-x_{1})}{(x_{j}-x_{1})}}\cdots {\frac {(x-x_{j-1})}{(x_{j}-x_{j-1})}}{\frac {(x-x_{j+1})}{(x_{j}-x_{j+1})}}\cdots {\frac {(x-x_{n})}{(x_{j}-x_{n})}},} כך שלכל q ≠ j {\displaystyle q\neq j} מתקיים P j ( x q ) = 0 {\displaystyle P_{j}(x_{q})=0} , וכן P j ( x j ) = 1 {\displaystyle P_{j}(x_{j})=1} . מכאן נובע שהפולינום בצורת לגראנז', p ( x ) = ∑ j = 1 n y j P j ( x ) = ∑ j = 1 n y j ∏ k = 1 ; k ≠ j n x − x k x j − x k {\displaystyle p(x)=\sum _{j=1}^{n}y_{j}P_{j}(x)=\sum _{j=1}^{n}y_{j}\prod _{k=1;k\neq j}^{n}{\frac {x-x_{k}}{x_{j}-x_{k}}}} מקיים p ( x k ) = y k {\displaystyle p(x_{k})=y_{k}} , לכל k {\displaystyle k} . במילים אחרות, הפולינום שהוגדר בצורת לגראנז' אכן עובר דרך הנקודות הנתונות. דרך נוספת לחשב את הפולינום היא באמצעות צורת ניוטון. לשיטה זו יתרונות על פני השיטה הקודמת בכך שהיא דורשת פחות פעולות חישוב, וקל להוסיף לפולינום הקיים נקודות נוספות, בעוד שבשיטת לגראנז' יש לחשב הכול מחדש. צורת ניוטון מחושבת כך:   p ( x ) = ∑ i = 1 n [ x 1 , x 2 , … , x i ] ∏ k = 1 i − 1 ( x − x k ) {\displaystyle \ p(x)=\sum _{i=1}^{n}[x_{1},x_{2},\dots ,x_{i}]\prod _{k=1}^{i-1}\left(x-x_{k}\right)} כאשר הביטוי [ x 1 , x 2 , … , x i ] {\displaystyle [x_{1},x_{2},\dots ,x_{i}]} נקרא "הפרש מחולק", והוא מוגדר בצורה הרקורסיבית הבאה:   [ x k ] = y k {\displaystyle \ [x_{k}]=y_{k}} [ x 1 , x 2 , … , x k ] = [ x 2 , … , x k ] − [ x 1 , x 2 , … , x k − 1 ] x k − x 1 {\displaystyle [x_{1},x_{2},\dots ,x_{k}]={\frac {[x_{2},\dots ,x_{k}]-[x_{1},x_{2},\dots ,x_{k-1}]}{x_{k}-x_{1}}}} בשל יחידות פולינום האינטרפולציה, שיטה זו מניבה את אותו הפולינום שהניבה שיטת לגראנז', אך ביתר יעילות. בשיטת ניוטון, כדי להוסיף נקודה נוספת לאינטרפולציה די לחשב את האיבר החדש שמוסיפים לסכום, ואין צורך לחשב את הסכום כולו מחדש. בנוסף לכך, הצגת לגראנז' מורכבת מפעולות כפל וחילוק רבות יותר, שכרוכות בשגיאות עיגול. אי לכך, מבחינה חישובית, שיטת ניוטון עשויה להיות מוצלחת יותר. אקסטרפולציה שיטות חלוקה אינטרפולציה ביליניארית אינטרפולציה, באתר אנציקלופדיה בריטניקה (באנגלית) שיר הפרבולה, בביצוע דביר רוס, וידאו קליפ של השיר באתר יוטיוב, כולל הדרכה איך לבצע אינטרפולציה ל-3 נקודות בעזרת מחשבון מדעי. ביון (מתמטיקה), דף שער בספרייה הלאומית אינטרפולציה, באתר MathWorld (באנגלית) בִּיּוּן במילון סטטיסטיקה (תש"ו, תשי"ב), באתר האקדמיה ללשון העברית