You are on page 1of 6

‫תרגיל כתה ‪5‬‬

‫נגזרת נומרית ‪ ,‬אינטרפולציה עם פולינום לגרנג'‪ ,‬פקודת ‪ POLYFIT‬ועקרון‬


‫הריבועים הפחותים‬

‫נגזרת נומרית – הערכת שגיאת קיטוע‬


‫‪.1‬‬
‫‪.‬‬
‫בביטויים הקשורים בחישובי שגיאות של אלגוריתמים נומריים מופיעים חסמים של נגזרות של‬
‫‪.‬פונקציות‬
‫''‬
‫‪. |f ( ξ )|≤M‬‬ ‫‪, x 0 <ξ < x‬‬ ‫לדוגמה‪:‬‬

‫א‪ .‬לנגזרת השלישית של )‪ sin(5 x‬בקטע [‪.]0 , 8‬‬ ‫מצא חסם‪:‬‬

‫[‪.]0.5.0 , 1‬‬ ‫ב‪ .‬לנגזרת השניה של )‪ln( x‬‬

‫‪2‬‬
‫‪x −8‬‬
‫ג‪ .‬לפונקציה ‪ x−3‬בקטע [‪.]4 , 6‬‬

‫פתרון‪ :‬א‪.‬‬
‫'‬ ‫''‬ ‫' ''‬
‫) ‪f ( x )=sin ( 5 x ) f ( x )=5 cos ( 5 x ) , f ( x )=−25 sin ( 5 x ) , f ( x )=−125 cos (5 x‬‬
‫‪|f ' ' ' ( x )|≪ 125‬‬
‫ב‪.‬‬

‫'‬ ‫'' ‪1‬‬ ‫‪−1‬‬


‫‪f ( x )=ln ( x ) f ( x )= , f ( x )= 2‬‬
‫‪x‬‬ ‫‪x‬‬
‫‪1‬‬
‫‪|f ( x )|≪ 2 =4‬‬
‫''‬

‫‪0.5‬‬

‫ג‪ .‬האם הפונקצייה מונוטונית בקטע? יש לחקור!‬


‫נגזור אותה כדי לראות איפה נמצאות נקודות הקיצון‪:‬‬
‫‪2 x ( x−3 )−1 ( x −8 ) x 2−6 x+ 8‬‬
‫‪2‬‬
‫‪df‬‬
‫=‬ ‫=‬ ‫→ ‪=0‬‬
‫‪dx‬‬ ‫‪( x−3 )2‬‬ ‫‪( x−3 )2‬‬
‫‪x 1 , x 2=4,2‬‬

‫‪ X2=2‬לא נמצא בקטע שלנו‪ X1=4 .‬כן בקטע‪ .‬האם הוא מקסימום או מינימום?‬
‫יש לגזור עוד פעם‪ ,‬במידה ונגזרת שנייה שלילית‪ -‬זוהי נקודת מקסימום‪ ,‬אחרת‪-‬‬
‫מינימום‪.‬‬
‫) ‪d f (2 x−6 )( x−3 ) −( 2 x−6 ) ( x −6 x+ 8‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪2‬‬
‫=‬ ‫‪( x 1=4 ) >0‬‬
‫‪dx‬‬ ‫‪( x−3 )4‬‬
‫סימן שזאת נקודת המינימום‪ .‬כלומר‪ ,‬הפונקצית היא מונוטונית עולה בקטע‬
‫הרלוונטי‪ .‬נשאר להשוות את הערכים המוחלטים של הפונקצייה בקצוות הקטע‪:‬‬
‫‪max‬‬ ‫{‬ ‫‪42 −8 62−8‬‬
‫‪,‬‬
‫‪4−3 6−3‬‬ ‫}‬
‫‪=max { 8,9.333 }=9.333‬‬

‫‪.2‬‬
‫) ‪( n+1‬‬
‫‪f‬‬ ‫) ‪(ξ‬‬
‫=) ‪Rn(x‬‬ ‫‪( x−x 0 )n+1‬‬
‫‪ .‬ההערכה שלה‬
‫כאשר ‪x 0 <ξ < x‬‬ ‫!)‪(n+1‬‬ ‫השארית בטור טיילור היא‪:‬‬
‫‪M‬‬
‫≤|)‪|Rn( x‬‬ ‫‪Ln+1‬‬
‫‪ .‬אם ידוע ש ‪ L=0 . 5 , M=10‬ודורשים שהשגיאה לא תעלה על‬ ‫!)‪(n+1‬‬ ‫היא‬
‫‪ ,0.05‬חשב (ועגל למספר טבעי) את ‪. n‬‬

‫פתרון‪:‬‬

‫‪ 3‬מיים‪:‬‬
‫) ‪f ( x 0 +h )−f ( x 0 −h‬‬
‫≈) ‪f ' (x 0‬‬
‫‪ ,‬יש לפתח בעזרת נוסחה זאת את הקירוב‬ ‫‪2h‬‬ ‫הפרש מרכזי‪:‬‬
‫לנגזרת השניה‪:‬‬

‫) ‪f ( x 0 +h )−2 f ( x 0 )+f ( x 0 −h‬‬


‫≈) ‪f ''( x 0‬‬ ‫‪2‬‬
‫‪h‬‬ ‫נגזרת שניה‪:‬‬

‫הפתרון‪ :‬נציב ‪ h/2‬במקום ‪ ,h‬נקבל‪:‬‬

‫‪ ,‬נפעיל את נוסחת החישוב של הנגזרת הראשונה בשיטת‬

‫‪:‬‬ ‫הפרש מרכזי על‬


‫נגזרת נומרית – חישוב נוסחה חדשה באמצעות דרישות לדרגת דיוק‬
‫‪ .3‬חשמל ואנרגיה‬
‫מצא את המקדמים ‪ C, B, A‬כך שנוסחת הגזירה הבאה תהיה מדויקת לפונקציית חזקה מסדר‬
‫שני‪:‬‬
‫) ‪f ' ( x)=Af ( x )+ Bf ( x +h )+Cf ( x+ 2h‬‬

‫פתרון‪:‬‬
‫נציב ונקבל את התשובה הסופית‪:‬‬

‫‪2‬‬ ‫‪1‬‬ ‫‪1‬‬


‫)) ‪f ' ( x )=f ( x ) + f ( x +h )− f ( x +2 h )= (−3 f ( x ) + 4 f ( x +h ) −f ( x +2 h‬‬
‫‪h‬‬ ‫‪2h‬‬ ‫‪2h‬‬

‫אינטרפולציה ופולינום לגרנז'‬


‫הבעיה שיש לפתור היא‪:‬‬ ‫‪‬‬
‫בהינתן מספר נקודות במישור‬
‫)(‪,) y 1 , x 1‬‬ ‫( ‪y 2 , x 2( , ) x 3 y n+ 1 , x n+1 (…) y 3‬‬
‫של‬ ‫למצוא פונקציה המקיימת אותן (העוברת דרכן)‪ ,‬בעיקר לצורך חישוב משוער‬
‫ערכי הפונקציה בתוך הקטע‪.‬‬
‫פולינומים הן פונקציות נוחות במיוחד לצרכי אינטרפולציה‪.‬‬ ‫‪‬‬
‫נקודות‬ ‫‪n+1‬‬ ‫דרך‬ ‫משפט‪ :‬לבעיה של מציאת פולינום מסדר ‪( n‬לכל היותר) העובר‬ ‫‪‬‬
‫קיים פתרון יחיד‪.‬‬
‫פולינומים בתבנית לגרנז' מספקים את הפתרון היחיד‪.‬‬ ‫‪‬‬
‫הקשר בין ערכי פונקציה לערכי הפולינום מסדר ‪ n‬המתלכד איתה ב‪n+1 -‬‬ ‫‪‬‬
‫נקודות מוגדר על‪-‬ידי משפט השגיאה‪:‬‬
‫)‪f (ξ )(n+1‬‬
‫‪f ( x )=P n ( x )+‬‬ ‫) ‪( x−x 1 )( x −x2 ) … ..(x−x n+1‬‬
‫! ) ‪( n+1‬‬
‫‪.4‬‬
‫‪5‬‬ ‫‪x‬‬
‫) (⁡ ‪x −tan‬‬
‫בקטע [‪ .]0 3‬בחר ‪ 4‬נקודות‪ .0,1,2,3 :‬כתוב בדף את‬ ‫יש לקרב את הפונקציה ‪6‬‬
‫‪3+ √ x‬‬
‫פולינום לגרנג' מסדר ‪ 3‬העובר דרכן‪ .‬את ערך הפונקציה בנקודות אלו יש לחשב באמצעות מטלב‬
‫או מחשבון‪ .‬חשב את ההבדל בין ערך הפונקציה לערך הפולינום בנקודה ‪ .2.5‬שרטט את הפונקציה‬
‫ואת הפולינום באמצעות מטלב‪.‬‬

‫תוכנית לחישוב פולינומים‬


‫התוכנית ‪ MyPolyfit‬בסוף הדף משתמשת בפקודה )‪ polyfit(xp,yp,n‬כדי לחשב מקדמים‬
‫לפולינום מסדר ‪ n‬העובר קרוב ביותר לנקודות ששיעוריהן נתונים במערכים ‪ xp‬ו‪ yp -‬בהתאמה‬
‫(שם הפקודה הוא שילוב של ‪ polynom fitting‬כלומר התאמה של פולינום לנקודות הנתונות)‪.‬‬
‫התוכנית משתמשת בפקודת ‪ polyval‬כדי לחשב ערך של פולינום שמקדמיו ידועים בנקודה‬
‫נתונה‪ .‬שם הפקודה הוא שילוב של ‪ polynom value‬כלומר חישוב ערכי פולינום שמקדמיו נתונים‬
‫בנקודות נתונות‪ .‬קרא את התוכנית‪ .‬העתק אותה בעצמך‪ .‬אפשר להעזר בפקודת ‪ doc polyfit‬ו‬
‫‪ doc polyval‬כדי להבין את הפקודות‪.‬‬
‫‪Pn(x)=a+bx+cx2+dx3+…. zxn‬‬

‫‪%MyPolyfit‬‬
‫‪%‬‬
‫‪clear all‬‬

‫;]‪xp=[-2 0 2‬‬
‫;]‪yp=[4 0 4‬‬
‫)‪u=polyfit(xp,yp,2‬‬
‫הפקודה מקבלת בתור קלט את הנקודות ואת דרגת‬
‫הפולינום ומחשבת את מקדמי הפולינום (זה הפלט שלה)‬
‫;‪xx=-3:0.001:4‬‬
‫;)‪yy=polyval(u,xx‬‬
‫הפקודה מקבלת בתור קלט את מקדמי הפולינום ונקודות‬
‫בהן היא תחשב את ערכי הפולינום‪ .‬הפלט שלה‪ -‬ערכי‬
‫הפולינום בכל הנקודות על ציר ה‪ X-‬שביקשנו בתור קלט‬
‫)‪plot(xx,yy‬‬

‫‪ .5‬כתיבת תוכנית המשווה ערך מדויק של פונקציה בנקודה מול קירובים שונים‬
‫כתוב תוכנית המבצעת את המטלות הבאות‪:‬‬
‫בחר פונקציה (לא פולינום) רציפה וקטע שבו היא תשורטט ותקורב‪ .‬שרטט אותה‪ ,‬הוסף‬ ‫א‪.‬‬
‫כותרת עם שם הפונקציה‪.‬‬
‫בחר את ‪ 2‬נקודות הקצה של הקטע‪ ,‬חשב את ערכי הפונקציה שבחרת בשתי הנקודות‬ ‫ב‪.‬‬
‫האלו‪ ,‬וחשב פולינום מסדר ‪( 1‬כלומר פונקציה קווית העוברת ביניהן) באמצעות פקודת‬
‫‪ .polyfit‬הוסף את השרטוט של הפונקציה הקווית לשרטוט הפונקציה המקורית‪.‬‬
‫ג‪ .‬בחר ‪ 3‬נקודות בקטע ששתיים מתוכן הן נקודות הקצה‪ .‬חשב את ערכי הפונקציה שבחרת‬
‫בנקודות אלו וחשב את מקדמיו של פולינום מסדר ‪ 2‬העובר דרכן‪ .‬הוסף את השרטוט של‬
‫הפולינום החדש לשרטוט הקודם‪.‬‬
‫חזור על התהליך עם ‪ 4‬נקודות ופולינום מסדר ‪.3‬‬ ‫ד‪.‬‬
‫בחר נקודה אחרת ‪ .xs -‬חשב את ערכיהם של שלושת הפולינומים שחשבת בסעיפים‬ ‫ה‪.‬‬
‫קודמים ואת ערך הפונקציה המקורית והצג את ארבעת הנקודות על אותו גרף כנקודות‬
‫בולטות ‪ .‬למשל הצגת נקודה אחת בצבע אדום כמחומש‪:‬‬
‫)'‪plot(xs,ys,'r p‬‬
‫חשב והצג את השגיאות המוחלטות של קרוב הפונקציה על ידי שלושת הפולינומים‪ .‬תן‬ ‫ו‪.‬‬
‫כותרת ברורה לכל מספר המוצג על המסך‪ .‬האם השגיאה קטנה ככל שדרגת הפולינום‬
‫גדלה?‬

You might also like