interpolation functions in matlab by dmitriy katsif

12
Interpolation Interpolation Functions in Functions in Matlab Matlab By Dmitriy Katsif By Dmitriy Katsif

Post on 22-Dec-2015

250 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Interpolation Functions in Matlab By Dmitriy Katsif

Interpolation Functions Interpolation Functions in Matlabin Matlab

By Dmitriy KatsifBy Dmitriy Katsif

Page 2: Interpolation Functions in Matlab By Dmitriy Katsif

אינטרפולציה - הגדרהאינטרפולציה - הגדרההיא שם כולל לשיטה בתחום היא שם כולל לשיטה בתחום אינטרפולציהאינטרפולציה

. הרעיון המרכזי העומד מאחורי . הרעיון המרכזי העומד מאחורי האנליזה הנומריתהאנליזה הנומריתגישה זו הוא האפשרות לייצר מידע חדש מאוסף גישה זו הוא האפשרות לייצר מידע חדש מאוסף

נתונים סופי. נתונים סופי.

לדוגמה, נניח שבמסגרת ניסוי פיזיקלי נדגום מיקום של גוף לדוגמה, נניח שבמסגרת ניסוי פיזיקלי נדגום מיקום של גוף נתונים: נתונים: 1212 שניות, כשהניסוי נמשך דקה. נקבל שניות, כשהניסוי נמשך דקה. נקבל 55במרחב בכל במרחב בכל

שניות וכן שניות וכן 55מיקומו של הגוף בזמן ההתחלה, מיקומו כעבור מיקומו של הגוף בזמן ההתחלה, מיקומו כעבור הלאה. ברור כי אוסף מידע זה אינו מספק את כל המידע על הלאה. ברור כי אוסף מידע זה אינו מספק את כל המידע על

התנהגות הגוף בכל נקודת זמן שהיא במהלך דקת הניסוי. התנהגות הגוף בכל נקודת זמן שהיא במהלך דקת הניסוי. בשלב זה נכנס כלי האינטרפולציה לפעולה.בשלב זה נכנס כלי האינטרפולציה לפעולה.

בשימושים ההנדסיים, פיזיקליים וכדומה - מטרת בשימושים ההנדסיים, פיזיקליים וכדומה - מטרתהאינטרפולציה היא להתאים פונקציה שתקרב בצורה הטובה האינטרפולציה היא להתאים פונקציה שתקרב בצורה הטובה

ביותר את התנהגותו האמיתית של אובייקט הניסוי.ביותר את התנהגותו האמיתית של אובייקט הניסוי.

Page 3: Interpolation Functions in Matlab By Dmitriy Katsif

דוגמהדוגמה

Page 4: Interpolation Functions in Matlab By Dmitriy Katsif

Interp3Interp3 \ \ interp2interp2 \ \ interp1interp11D/2D/3D data interpolation1D/2D/3D data interpolation

SyntaxSyntax

yi yi = = interp1interp1((x,Y,xix,Y,xi))XX – – – מטריצת גבולות של ציר ה – מטריצת גבולות של ציר הXX..YY.מטריצת מבוא המכילה את הנקודות לפני האינטרפולציה. – מטריצת מבוא המכילה את הנקודות לפני האינטרפולציה –

XiXi.מטריצה של נקודות עבורן תתקבל מטריצת המוצא. – מטריצה של נקודות עבורן תתקבל מטריצת המוצא – YiYi מטריצת מוצא. מטריצה המכילה את המטריצה – מטריצת מוצא. מטריצה המכילה את המטריצה – YY בתוספת בתוספת

של נקודות הקירוב שהתווספו אליה.של נקודות הקירוב שהתווספו אליה.פונקציה זו ניתנת למימוש גם – כן עבור פונקציות בדו פונקציה זו ניתנת למימוש גם – כן עבור פונקציות בדו הערה:הערה:

מימד ובתלת מימד, בתוספת של מטריצות מימד נוספות מימד ובתלת מימד, בתוספת של מטריצות מימד נוספות עבור תלת מימד(. עבור תלת מימד(.x,y,zx,y,z)לדוגמה: )לדוגמה:

yi yi = = interp1interp1((x,Y,xi,methodx,Y,xi,method))MethodMethod ניתן להוסיף כפרמטר לפונקציה את שיטת – ניתן להוסיף כפרמטר לפונקציה את שיטת –

האינטרפולציה הרצויה.האינטרפולציה הרצויה.

Page 5: Interpolation Functions in Matlab By Dmitriy Katsif

שיטות אינטרפולציהשיטות אינטרפולציה ““linear” - Linear interpolation linear” - Linear interpolation ((defaultdefault))

..y=ax+by=ax+b נקודות מחוברות ע"י פונקציה ליניארית נקודות מחוברות ע"י פונקציה ליניארית 22הנחה כי הנחה כי ““NearestNearest – " – "Nearest neighbor interpolationNearest neighbor interpolation

מציאת ערך הקרוב ביותר לנקודה הנתונה.מציאת ערך הקרוב ביותר לנקודה הנתונה. ““spline”- Cubic spline interpolationspline”- Cubic spline interpolation

מהצורה: מהצורה:33 נקודות לפולינום מסדר נקודות לפולינום מסדר 22ביצוע קירוב של כל ביצוע קירוב של כל

““pchip”- Piecewise cubic Hermite interpolationpchip”- Piecewise cubic Hermite interpolation 22קירוב לפולינום "הרמיט" אשר מבוסס על בינום של ניוטון. כל קירוב לפולינום "הרמיט" אשר מבוסס על בינום של ניוטון. כל

נקודות מקורבות לצורת פולינום הבאה:נקודות מקורבות לצורת פולינום הבאה:

- נקודות בלבד נקודות בלבד 1111לדוגמה: ניקח כמבוא אות סינוס שנדגם ב - לדוגמה: ניקח כמבוא אות סינוס שנדגם ב במחזור.במחזור.

Page 6: Interpolation Functions in Matlab By Dmitriy Katsif

Linear: y=ax+bLinear: y=ax+b

Page 7: Interpolation Functions in Matlab By Dmitriy Katsif

Nearest: yi=yNearest: yi=y

Page 8: Interpolation Functions in Matlab By Dmitriy Katsif

SplineSpline : :

Page 9: Interpolation Functions in Matlab By Dmitriy Katsif

PchipPchip::

Page 10: Interpolation Functions in Matlab By Dmitriy Katsif

interpftinterpft אינטרפולציה בעזרת אינטרפולציה בעזרתFFTFFT על מטריצת המבוא מבוצעת . על מטריצת המבוא מבוצעת .

טרנספורמציית פורייה ולאחר מכן טרנספורמציה הפוכה רק טרנספורמציית פורייה ולאחר מכן טרנספורמציה הפוכה רק עם יותר נקודות.עם יותר נקודות.

SyntaxSyntaxy y = = interpftinterpft((x,nx,n))

XX מטריצת מבוא. מטריצה המכילה את נתוני המבוא לפי – מטריצת מבוא. מטריצה המכילה את נתוני המבוא לפי – האינטרפולציה.האינטרפולציה.

nn קירוב. מספר המתאר כמה נקודות אינטרפולציה יתווספו לכול – קירוב. מספר המתאר כמה נקודות אינטרפולציה יתווספו לכול – נקודה הקיימת במטריצה המבוא. מספר זה לא יכול להיות קטן נקודה הקיימת במטריצה המבוא. מספר זה לא יכול להיות קטן

מכמות האיברים במטריצת המבוא.מכמות האיברים במטריצת המבוא.YY מטריצת מוצא. מתריצה המכילה את המטריצה – מטריצת מוצא. מתריצה המכילה את המטריצה – XX בתוספת של בתוספת של

נקודות הקירוב שהתווספו אליה.נקודות הקירוב שהתווספו אליה.

דוגמה:דוגמה:

Page 11: Interpolation Functions in Matlab By Dmitriy Katsif
Page 12: Interpolation Functions in Matlab By Dmitriy Katsif

שגיאת אינטרפולציהשגיאת אינטרפולציה

חשוב לציין כי כפי שראינו ישנה סטיה בין כל חשוב לציין כי כפי שראינו ישנה סטיה בין כלאחת מן השיטות לאות המקורי. תחום מאוד אחת מן השיטות לאות המקורי. תחום מאוד

נרחב ב"אנליזה נומרית" דן בשגיאה בין האות נרחב ב"אנליזה נומרית" דן בשגיאה בין האות המקורי לאות שמתקבל.המקורי לאות שמתקבל.

SPLINE SINE WAVE