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

Interpolation Functions in Matlab By Dmitriy Katsif.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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