הקוד לאינטרפולציה ב- MATLAB

MATLAB מסייע לך לפשט אינטרפולציה.

השיטה הישירה

השיטה הישירה של אינטרפולציה כרוכה בכמה שלבי חישוב. שימוש בדוגמה של המבוא: "dt = 50 - 40" הוא טווח הטמפרטורות של הטבלה. "dp = 92 - 70" הוא טווח הלחץ של הטבלה. "dt1 = (44-40) / dt" הוא שבר של טווח הטמפרטורה עבור הטמפרטורה המדוברת. "התגובה = dt1 * dp + 70" הוא אותו חלק מעל טווח הלחץ שנוסף ללחץ הנמוך ביותר בטבלה; וזו התשובה. בדוגמה זו, זה 78.8 יחידות לחץ.

אינטרפולציה לינארית ב MATLAB

MATLAB כולל פונקציה שיכולה למלא את ארבעת החישובים של החלק הקודם בו זמנית. זה "interp1" פונקציה ויהפוך את החישובים שלך פשוט. באמצעות הדוגמה הקודמת, לספק את הפונקציה interp1 עם טווח הלחץ, טווח הטמפרטורה ואת הטמפרטורה המדוברת, וזה ייתן לך את הלחץ בתגובה בשלב אחד. כתוב את הקוד הבא בשורת הפקודה MATLAB:

תשובה = interp1 ([40 50], [70 92], 44)

MATLAB יגיב עם "בתגובה = 78.8000", אשר תואם את התוצאה של החלק הקודם.

אינטרפולציה של השכן הקרוב ביותר

הפונקציה interp1 של MATLAB מציעה מספר שיטות לביצוע אינטרפולציה. הליניארי הוא שיטת ברירת המחדל. עם זאת, נניח כי במקום רק מספרים 40 ו 50, יש לך ערכי טמפרטורה עבור כל מספרים שלמים בין 40 ל 50. נניח גם שיש לך ערכי לחץ התואמים רק מספרים שלמים עבור כל ערך טמפרטורה בטבלה שלך . אם אתה משתמש בשיטת "השכן הקרוב ביותר", MATLAB לא ייתן לך ערך מדויק; במקום זה הוא אומר לך את התשובה הקרובה ביותר בטבלה. הקוד בתבנית הבאה משיג זאת:

תשובה = interp1 [[ערכי שעה], [ערכי לחץ], 43.4, 'קרוב')

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

עקומת מעוקב הוא שיטה אחרת שיכולה לבצע את הפונקציה interp1 או הפונקציה אוטונומית "spline". במקום לתת ערך ייחודי לטענה השלישית של הפונקציה, לתת לו מגוון של ערכים בטווח הראשון (הטמפרטורות בטבלה). הפונקציה ספלין תחזיר טווח תואם בטווח השני (לחצים בטבלה). אתה יכול להשתמש בקוד בתבנית הבאה כדי לחלץ את טווח הלחצים המקביל subinterval של טמפרטורות:

[= טווח זמן], [טווח לחצים], [זמני משנה]]