סיכום הרצאה - אוניברסיטת בר-אילן
Transcription
סיכום הרצאה - אוניברסיטת בר-אילן
קורס מטלב לפיסיקאים © אגף התקשוב ,אוניברסיטת בר אילן ד"ר סמדר שץ קורס מטלב לפיסיקאים שיעור מס' :1סביבת עבודה חישובים סוגי ביטויים מתמטיים ביטוי מתמטי מורכב מרכיבים (אופרנדים) ומפעולה שנעשית ביניהם (אופרטור). אופרטור בינרי operand1 operator operand2 דוגמא3 + 2 : אופרטור אונרי operator operand דוגמא– 3 : דוגמאlog(2) : ביטוי פוקנציונלי )FunctionName(argument בביטויים פונקציונליים ,האופרנד נקרא ארגומנט .האופרטור הוא פונקציה ,והארגומנט מופיע בין סוגריים. כתיבת ביטויים מתמטיים 2+3 חיבור a+b חיסור a-b כפל a·b a*b a חילוק b a/b חזקה a b a^b =ans 5 2-3 = ans -1 2*3 = ans 6 2/3 = ans 0.6667 2^3 = ans 8 )sqrt(3 שורש ריבועי a )sqrt(a אקספוננט e a )exp(a = ans 1.7321 )exp(1 = ans 2.7183 סדר ביצוע הפעולות אופרטורים עם קדימות זהה מבוצעים משמאל לימין. עמ' 1מתוך 10 שיעור 1 מרץ 15 קורס מטלב לפיסיקאים © אגף התקשוב ,אוניברסיטת בר אילן ד"ר סמדר שץ סדר קדימות של הפעלת אופרטורים :כמו במתמטיקה. קדימות גבוהה ביותר פונקציה > חזקה ^ > כפל * וחילוק > /חיבור +וחיסור -קדימות נמוכה ביותר כדי לשנות את סדר החישוב ,משתמשים בסוגריים עגולים בלבד. הביטוי 5 42 1 )sqrt((5*4)^2+1 נכתב: = ans 20.0250 ערכים מוגדרים מראש (להלן כמה דוגמאות שימושיות). i j 1i 1j i= 1 π pi ∞ Inf )undefined (Not a Number NaN i^2 = ans -1 )sin(pi/2 = ans 1 atan(Inf)/pi = ans 0.5000 0*Inf = ans NaN NaN*5 = ans NaN כתיבה והצגה של מספרים נקודה קבועה: fixed point integer.fraction כתיב מדעי: mantissa10power mantissaepower נקודה צפה: floating point 1.25 = ans 1.2500 כתיב מדעי ,כך שהמנטיסה מסדר גודל של אחדות בודדות או של עשיריות (מקום אחד לפני או אחרי הנקודה). 50.2e-3 = ans 0.0502 5.02e-2 = ans 0.0502 2/9500 = ans 2.1053e-04 2/950 הצגת מספרים במטלב :נקודה קבועה עבור מספרים > 0.001 = ans 0.0021 שינוי ברירת המחדל להצגה :פקודת format format short נקודה קבועה ,מוצגות 4ספרות אחרי הנקודה 3/990 = ans 0.0030 1000/99 עמ' 2מתוך 10 שיעור 1 מרץ 15 קורס מטלב לפיסיקאים ד"ר סמדר שץ © אגף התקשוב ,אוניברסיטת בר אילן = ans 10.1010 format short e נקודה צפה ,מוצגות 4ספרות אחרי הנקודה 3/990 = ans 3.0303e-03 1000/99 = ans 1.0101e+01 format long נקודה קבועה ,מוצגות 15ספרות אחרי הנקודה 3/990 = ans 0.003030303030303 1000/99 = ans 10.101010101010100 format long e נקודה צפה ,מוצגות 15ספרות אחרי הנקודה 3/990 = ans 3.030303030303030e-03 מספרים מרוכבים כתיבת מספרים מרוכבים: 2+3*j = ans 2.0000 + 3.0000i בחלק הדמיוני אין צורך בסימן כפל 5.2-4.1i = ans 5.2000 - 4.1000i מספרים מרוכבים כתוצאות של פעולה על מספרים ממשיים: )log(-10 = ans 2.3026 + 3.1416i )abs(4+3i ערך מוחלט = ans 5 )angle(2i פאזה (זווית עם הציר הממשי) = ans 1.5708 ))real(log(-10 חלק ממשי = ans 2.3026 ))imag(log(-10 חלק מדומה = ans 3.1416 ))conj(log(-10 צמוד = ans 2.3026 - 3.1416i עמ' 3מתוך 10 שיעור 1 מרץ 15 קורס מטלב לפיסיקאים © אגף התקשוב ,אוניברסיטת בר אילן ד"ר סמדר שץ סביבת העבודה של מטלב חומרה מבנה סכמטי של מחשב זכרון עבודה RAM אמצעי אכסון קבועים (דיסק) יחידת עיבוד מרכזית CPU (חיווט) Bus התקנים היקפיים אחרים אמצעי אכסון נתיקים חישובים ברמת המכונה העברת מידע מן הRAM- חישוב בתוך הCPU- operand1 operator operand2 אכסון התוצאה בRAM- זיכרון ,מידע ומשתנים מידע מאוכסן בזיכרון לפי המיקום ,כלומר כתובת. a a+1 a+2 a+3 ... שפת -תכנות עילית :ציון הכתובות והפעולות על מידע נעשה באופן קריא (לבני-אדם). משתנה מתחייס לאזור -אכסון בזיכרון ,עם המאפיינים: מיקום בזיכרון -העבודה (כתובת) שם -תווית לצורך התייחסות בשפה עילית. ערך -המידע המאוכסן שם המשתנה הוא צירוף של סימנים (בדרך כלל אותיות) .הסימן הראשון חייב להיות אות (אחת מאותיות האלפבית האנגלי) .הסימנים הבאים יכולים להיות אותיות ,ספרות או הסימן _ (קו תחתי). פעולת השמה :אכסון מידע במשתנה. VariableName = value השמה לתוך משתנה מוחקת ערך קודם שהיה מאוכסן בו. שימוש במשתנה :ציון שם המשתנה בתוך ביטוי גורם לשליפת המידע מן המשתנה g = 9.8, t=10 = g ושימוש בו בחישוב הביטוי. 9.8000 = t 10 עמ' 4מתוך 10 שיעור 1 מרץ 15 קורס מטלב לפיסיקאים © אגף התקשוב ,אוניברסיטת בר אילן ד"ר סמדר שץ x = 0.5*g*t^2 = x 490.0000 v = 4.2 = v 4.2000 x = x+v*t = x 532 משתנים במטלב אזור הזיכרון בו מטלב שומר את המשתנים נקרא .Workspace )a = log(-20 = a 2.9957 + 3.1416i )I = imag(a = I 3.1416 השמה למשתנה שלא היה קיים מקצה את המשתנה בזיכרון. ניסיון ל שימוש במשתנה שלא הוקצה הוא שגיאה. בשמות המשתנים במטלב יש הבדל בין אותיות קטנות וגדולות (.)case sensitive A = a + i = A 2.9957 + 4.1416i בחישוב ללא פעולת השמה ,התוצאה נשמרת a+A = ans 5.9915 + 7.2832i במשתנה ברירת -מחדל בשם .ans ans+1 = ans 6.9915 + 7.2832i a = -2 = a -2 ◄שאלה :מה יהיה ערכו של Aלאחר ביצוע ההשמה הבאה: פקודות מטלב לטיפול במשתנים whoהצגת רשימת משתנים בזיכרון העבודה who שימושwho : Your variables are: ans whosהצגת מידע על משתנים שימושwhos : Attributes complex complex Class double double double double Bytes 16 8 8 16 Size 1x1 1x1 1x1 1x1 whos Name A I a ans שימושclear : clear שימושclear var1 var2 ...: clear A a I clearמחיקת כל המשתנים מזיכרון העבודה מחיקת משתנים מסוימים a I A מערכים מערך הוא קבוצה מ סודרת של רכיבים .הרכיבים יכולים להיות כל סוג של מידע (לא רק מספרים). כל הרכיבים נמצאים במשתנה אחד. עמ' 5מתוך 10 שיעור 1 מרץ 15 קורס מטלב לפיסיקאים ד"ר סמדר שץ © אגף התקשוב ,אוניברסיטת בר אילן במטלב ,ברירת המחדל לכל משתנה היא מערך דו-ממדי. דוגמא למערך דו-ממדי :מערך 4 , 4x3שורות 3עמודות. מערכים חד -ממדיים הם מקרה פרטי של מערך דו-ממדי: מערך שורה מערך עמודה דוגמא :מערך 1x5שורה של 5רכיבים (אלמנטים). דוגמא :מערך-עמודה 4x1של ארבעה רכיבים. גם סקלר הוא מערך .1x1במטלב יש משמעות גם למערך nx0או 0xnעם 0רכיבים. פקודות ותוכניות פקודה :הוראות לביצוע פעולות הכתובות בשפה עילית. דוגמאות לפעולות המבוצעות ע"י פקודות :חישוב ביטויים מתמטיים ,השמת ערכים למשתנים ,העתקת מידע מן הזיכרון לדיסק או מן הדיסק לזיכרון ועוד. פקודה מתבצעת בשלבים הבאים: תרגום הפקודה משפה עילית לקוד -מכונה המתאים לחומרה הספיציפית של המחשב (קומפילציה). אכסון קוד המכונה בזכרון. ביצוע קוד המכונה. תוכנית מחשב :סדרה (סופית) של פקודות. תוכניות מחשב נשמרות בקבצים. דיסק ,מידע וקבצים מידע מאוכסן בדיסק בקבצים. קובץ מתייחס לשטח אכסון מסוים על הדיסק ,עם המאפיינים הבאים: מיקום על הדיסק. שם -תווית לצורך התייחסות. תוכן -המידע המאוכסן בקובץ. כתיבה לקובץ :העתקת מידע שנמצא במשתנים בזיכרון ואחסונו בקובץ הנמצא בדיסק. קריאה מקובץ :טעינת מידע מקובץ הנמצא על הדיסק אל משתנים הנמצאים בזיכרון. סוגי קבצים סוג הקובץ מצוין בדרך כלל ע"י הסיומת שלו (.)extention אופן שמירת המידע בקובץ: קבצי טקסט: כוללים רק סימנים ניתנים להצגה (תווים.)ascii , ניתנים להצגה ועריכה ע"י כל עורך טקסט (למשל .)NotePad קבצים בינאריים :כתובים בפורמט ייחודי לתוכנה שייצרה אותם (ולכן ניתנים לפתיחה ועריכה רק ע"י התוכנה). עמ' 6מתוך 10 שיעור 1 מרץ 15 קורס מטלב לפיסיקאים © אגף התקשוב ,אוניברסיטת בר אילן ד"ר סמדר שץ פורמטים מוכרים במטלב תוכניות מטלב :קבצי טקסט עם סיומת ( .mלכן נקראים .)m-files קבצי משתנים ,בהם מטלב שומר משתנים בפורמט שבו הם נמצאים בזכרון העבודה .סיומת .mat פורמטים שאינם ייחודיים למטלב ,למשל: o קבצי טקסט (למשל טבלאות מספריות). o תמונות (פורמטים גרפיים) ,למשל jpg, bmp, gif o קבצי קול (למשל )wav o גיליונות חישוב ,למשל אקסל פקודות פשוטות לקריאה וכתיבה מקובץ הפקודות הבאות יוצרות משתנים ממידע הנמצא בקבצים משני סוגים: א .קובץ - .matמניחים שזה הפורמט הפנימי של מטלב ,אם בפקודה לא מצוינת הסיומת. ב .קובץ טקסט המכיל רק מידע נומרי ,המסודר בצורה של מערך דו-ממדי אחד( .ניסיון לקרוא קבצי טקסט בפורמט אחר ,למשל קבצים הכוללים טקסט לא נומרי ,יגרום לשגיאה) .אם בפקודה מצוינת כל סיומת למעט ,matמטלב ינסה לקרוא את הקובץ בהנחה שהוא טקסט נומרי בפורמט של מטריצה אחת. תיאור פקודה דוגמא פעולה loadקריאת משתנים מקובץ המשתנים נקראים מן הקובץ לזיכרון בפורמט מטלב .mat העבודה. קריאת מטריצה המטריצה נקראת למשתנה ששמו נומרית מקובץ טקסט. כשם הקובץ (ללא הסיומת) S Attributes Class double saveשמירת משתנים לקובץ Bytes R clear load arrays who Your variables are: A B C D E I M b c s t v clear load Mhtable.txt whos Name Size 1502x30 360480 שמירת כל המשתנים לקובץ matlab.mat Mhtable save Saving to: D:\mbooks\course\eng\data-files\matlab.mat save myvars שמירת כל המשתנים לקובץ מסוים mat שמירת משתנים מסוימים לקובץ מסוים שמירת משתנים לקובץ המשתנים נכתבים לקובץ בזה אחרי זה. טקסט יש להוסיף פרמטר –asciiלתרגום save file R S s save file.txt A C –ascii מבינארי לטקסט. פקודות לשימוש בתיעוד/עזרה help sqrt SQRT Square root. SQRT(X) is the square root of the elements of X. Complex results are produced if X is not positive. See also SQRTM, REALSQRT, HYPOT. Overloaded methods: codistributed/sqrt gpuArray/sqrt Reference page in Help browser doc sqrt עמ' 7מתוך 10 שיעור 1 מרץ 15 קורס מטלב לפיסיקאים ד"ר סמדר שץ © אגף התקשוב ,אוניברסיטת בר אילן כלי שולחן-העבודה של מטלב שולחן העבודה desktop משטחים ותפריטים תפריט תלוי-הקשר context menu עיגון dockושחרור undockמשטח חלון העבודה command window מציג פקודות +תוצאות סימון תחביר בצבעים בדיקת זוגיות (סוגריים וסימנים נוספים) איחזור פקודות קודמות :ע"י מקש השלמת שמות ע"י מקש TAB תזכורת לפורמט של פקודות חלון זיכרון העבודה workspace רשימת משתנים מחיקת משתנים ,שינוי שם ,שמירה לקובץ שרטוט פתיחת המשתנה בחלון variable חלון הקבצים current folder פתיחת קובץ: לפי הקשר בעורך של מטלב (טקסט) מחוץ למטלב כלי ייבוא מקובץ .import data :דוגמאות: קריאת משתנים מקובץ LDGWsineGW.mat :mat קריאת מערכי עמודה מקובץ טקסטLDGW.txt : קריאת מערכי עמודה מקובץ אקסלbirths.xls : קריאת משתנים מקובץ הקלטה קוליתmdbp0-si1788.wav : קריאת מערך תלת-ממדי מקובץ תמונהcircle1.jpg : הצגה מקובצת של קבצים חיפוש טקסט בכל הקבצים מערכת התיעוד הקשה על fxבחלון העבודה פתיחת מערכת העזרה במקש ? באזור Resourcesבסרגל .Home חלון history רשימת פקודות קודמות ביצוע העתקה לחלון העבודה העתקה לקובץ תוכנית עמ' 8מתוך 10 שיעור 1 מרץ 15 קורס מטלב לפיסיקאים © אגף התקשוב ,אוניברסיטת בר אילן ד"ר סמדר שץ כתיבה ,עריכה והרצה של סקריפט תוכניות במטלב תוכנית במטלב יכולה לכלול כמעט כל פקודה שניתן לבצע מחלון העבודה. התוכנית כתובה בקובץ טקסט בעל סיומת ( mולכן נקרא גם .)mfile למטלב עורך תוכניות מובנה ,אולם ניתן לערוך תוכנית מטלב בכל עורך טקסטואלי. הפעלת התוכנית :כתיבת שם הקובץ (ללא הסיומת) בחלון הפקודות .למעשה כל תוכנית במטלב יוצרת פקודה חדשה .שם הפקודה הוא כשם הקובץ (ללא הסיומת). לאחר שכל הפקודות בקובץ מתבצעות ,הביצוע חוזר לסביבה בה הופעלה הפקודה. קבצי תוכנית – mfilesכללי תחביר כל פקודה מתחילה בשורה חדשה( .ניתן לכתוב כמה פקודות בשורה ע"י הפרדתן ב , -או ; ) ניתן לכתוב פקודה בכמה שורות .הסימן 3( ...נקודות) מסמן שהפקודה ממשיכה בשורה הבאה. כל טקסט שבא אחרי סימן %נחשב להערה ,עד לסוף השורה. מומלץ לסיים ב ; -את כל פקודות ההשמה בקבצי תוכנית ,למעט פקודות שמעוניינים במפורש להציג את תוצאותיהן תוך כדי ביצוע. יצירת קובץ תוכנית כפתור New scriptבאזור Fileבסרגל Home פתיחת קובץ ריק: כתיבת פקודות לבחור את הפקודות מחלון Command History שימוש בפקודות שבוצעו בחלון העבודה: להפעיל context menuולבחור Create M-File שמירה :בחלון העורך בסרגל EDITORבאזור ,Fileלחיצה על תפריט saveובחירת .save as סקריפט script סקריפט הוא קובץ mfileשהפקודות בו מבוצעות כאילו הופעלו מחלון הפקודות. הסקריפט משתמש במרחב המשתנים הכללי של מטלב (:)base ניתן להשתמש בסקריפט במשתנים שהוגדרו לפני הרצתו. כל המשתנים שנוצרי ם ע"י הסקריפט נשארים במרחב המשתנים הכללי גם לאחר שהריצה הסתיימה. הסקריפט יכול לשנות משתנים במרחב הכללי. clear load LDGWsineGW.mat whos דוגמא :1נבצע את הפקודות הבאות: Attributes Class double double double double double double Bytes 8 11648 11648 11648 11648 11648 Size 1x1 1456x1 1456x1 1456x1 1456x1 1456x1 Name Sm T deer grass lions water )plot(T,deer save LDGWpart T water grass deer נשמור את הפקודות בקובץ d1mat.m הפעלת הקובץ: עמ' 9מתוך 10 d1mat שיעור 1 מרץ 15 קורס מטלב לפיסיקאים ד"ר סמדר שץ © אגף התקשוב ,אוניברסיטת בר אילן 1 דוגמא :2הסקריפט d1approx.mמחשב את הקירוב x 12 1 x 13 1 x 14 1 x 15 2 3 4 5 ln x x 1 מסדר 1עד סדר ,5וכן את השגיאה בכל סדר .הפעלת הסקריפט: d1approx = x 1.1000 = exact 0.0953 = a1 0.1000 = e1 -0.0047 = a2 0.0950 = e2 3.1018e-04 = a3 0.0953 = e3 -2.3154e-05 = a4 0.0953 = e4 1.8465e-06 = a5 0.0953 = e5 -1.5353e-07 עמ' 10מתוך 10 שיעור 1 מרץ 15