בלוג זה הולך להסביר כיצד לשרטט את הקו המתאים ביותר ב-MATLAB באמצעות polyfit() פוּנקצִיָה.
כיצד לשרטט את קו ההתאמה הטובה ביותר ב-MATLAB?
תכנון הקו המתאים ביותר ב- MATLAB יכול להיעשות בקלות באמצעות המובנה polyfit() פוּנקצִיָה. פונקציה זו משמשת לקירוב נתונים על ידי התאמת העקומה בנקודות הנתונים הנתונות. הפונקציה לוקחת ארגומנטים מרובים, כולל נקודות הנתונים והדרגה של הפולינום. ה polyfit() הפונקציה יוצרת וקטור מקדמים המשמש להערכת פולינום בכל נקודה.
אם יש לנו n נקודות נתונים, ניתן יהיה לכתוב את הפולינום בעל תואר קטן מ-n-1 שעשוי לעבור דרך כל נקודות הנתונים ואולי לא לעבור, באמצעות polyfit() פוּנקצִיָה.
תחביר
ה polyfit() לפונקציה יש מספר תחבירים שניתן להשתמש בהם ב- MATLAB לביצוע משימות התאמת עקומה:
p = polyfit ( x,y,n )
[ נ.ב ] = polyfit ( x,y,n )
[ p,S,mu ] = polyfit ( x,y,n )
כאן:
הפונקציה p = polyfit(x,y,n) מספק את המקדמים עבור פולינום p(x) בעל תואר n שמניב את הקו המתאים ביותר בשיטת הריבוע הקטן ביותר עבור הנתונים ב-y. ל-p יש אורך n+1, ולמקדמים של ה-p יש חזקה בסדר יורד.
הפונקציה [p,S] = polyfit(x,y,n) נותן את המבנה S, אשר ניתן להשתמש בו polyval() לתפקד כארגומנט לקבלת הערכות שגיאה.
הפונקציה [ p , S , in ] = polyfit ( x , y , n ) מחזירה mu כווקטור עם שני אלמנטים בעלי ערכים לריכוז וקנה מידה. ה ב-(1) שווה ל ממוצע (x) , ואילו ב-(2) שווה ל std(x) . עם האפשרויות האלה, polyfit() מתאים את x כך שלפלט הערך האפס שלו תהיה סטיית התקן של היחידה.
דוגמאות
עקוב אחר הדוגמאות שניתנו כדי להבין את פעולתו של polyfit() פונקציה לשרטט את הקו המתאים ביותר ב- MATLAB.
דוגמה 1: כיצד לשרטט את קו ההתאמה הטובה ביותר ב- MATLAB באמצעות הפונקציה polyfit(x, y, n)?
דוגמה זו יוצרת ראשית וקטור x בעל 11 אלמנטים מרווחים באופן שווה הכלולים במרווח [0, 20]. אז הוא מוצא ערכים של y המתאימים לכל ה-x באמצעות פונקציית השגיאה חצר(x) . לאחר מכן, הוא משתמש ב- polyfit() פונקציה להתאמת הפולינום של המעלה ה-9 בנקודות הנתונים הנתונות. לבסוף, הוא משרטט את תוצאות הערכת הפולינום עם רשת עדינה יותר.
x = [ 0 : 2 : עשרים ] ';y = inheritance(x);
p = polyfit(x,y,9);
f = polyval(p,x);
plot(x,y,' O ',x,f,' - ')
דוגמה 2: כיצד לשרטט את קו ההתאמה הטובה ביותר ב- MATLAB באמצעות הפונקציה [p, S]= polyfit(x, y, n)?
קוד MATLAB זה יוצר תחילה וקטור x עם 11 אלמנטים מרווחים באופן שווה הכלולים במרווח [0, 20]. אז הוא מוצא ערכים של y המתאימים לכל ה-x באמצעות ה- sin(x) פוּנקצִיָה. לאחר מכן, הוא משתמש ב- polyfit() פונקציה להתאמת הפולינום של המעלה ה-10 בנקודות הנתונים הנתונות. לבסוף, הוא משרטט את תוצאות הערכת הפולינום עם רשת עדינה יותר.
x = [ 0 : 2 : עשרים ] ';y = sin(x);
[p,S] = polyfit(x,y,10)
f = polyval(p,x);
plot(x,y,' O ',x,f,' - ')
סיכום
MATLAB כולל מובנה polyfit() פונקציה לשרטט את הקו המתאים ביותר. פונקציה זו מאפשרת לנו להעריך את הנתונים על ידי התאמת העקומה בנקודות הנתונים הנתונות. אם יש לנו n נקודות נתונים, הפולינום בעל תואר קטן מ-n-1 יכול לתת את הקירוב הטוב ביותר עבור n נקודות הנתונים הנתונות. מדריך זה סיפק לנו מידע על התאמת עקומה ועוזר לנו להבין כיצד לשרטט את הקו המתאים ביותר ב- MATLAB.