כיצד לשרטט את קו ההתאמה הטובה ביותר ב-MATLAB?

Kyzd Lsrtt T Qw Hht Mh Htwbh Bywtr B Matlab



התאמת עקומה היא תהליך התאמת הפונקציה בנקודות נתונים. שיטה זו משמשת כדי לשרטט את הקו המתאים ביותר ב- MATLAB על ידי מזעור השגיאה בין הפונקציה לנקודות הנתונים. זוהי שיטה מסובכת אך MATLAB מקלה בכך שהיא מציעה פונקציות שונות של התאמת עקומה. פונקציה אחת כזו היא ה polyfit() אשר ניתן להשתמש בו כדי לשרטט קו המתאים ביותר ב-MATLAB.

בלוג זה הולך להסביר כיצד לשרטט את הקו המתאים ביותר ב-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.