1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory...

60
1 לללל ל לללל לmatlab matlab ללללל ללללללל ללללל3

Post on 21-Dec-2015

236 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

1

matlabmatlab מבוא למבוא ל

שיטות נומריות3תרגול

Page 2: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

2

מבוא

•matlab=matrix laboratoryהמשתנים הבסיסיים: וקטורים ומטריצות•

מספר רב של פונקציות מובנות•

משמש לתחומים רבים•

matlabבקורס זה אנו נלמד מבוא ל •

Page 3: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

3

שימוש בתוכנה

במעבדות •

כדי לפתוח את התוכנה, נקליד בשורת הפקודה •.matlab את הפקודה starבמחשבי ה

Page 4: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

4

שימוש בעזרה

פתיחת ממשק העזרה:•

Page 5: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

5

שימוש בעזרה

ואחריה שם פונקציה תציג הסבר helpהפקודה •לגבי פעולת הפונקציה והשימוש בה:

Page 6: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

6

שימוש בעזרה- המשך

ואחריה שם פונקציה תפתח את docהפקודה •ממשק העזרה עבור הפונק' הנ"ל.

ואחריה מילת מפתח תציג lookforהפקודה •רשימת פונקציות שיש להן קשר למילת המפתח.

Page 7: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

7

עבודה עם קבצים

– שני סוגים:m.קבצים עם סיומת •סקריפט: •

אינו מקבל קלט ואינו מחזיר פלט.•

.workspaceעובד על מידע שנמצא ב •

או F5הרצתו ע"י •

פונקציות:•יכולות לקבל קלט ולהחזיר פלט.•

המשתנים מקומיים לפונקציה.•

Page 8: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

8

עבודה עם קבצים- המשך

- מאחסנים משתנים ואת הערכים mat.קבצי •שלהם.

- מאחסנים גרפים.fig.קבצי •

Page 9: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

9

:matlabביטויים ב

משתנים:•אין צורך להגדיר טיפוס•הטיפוסים הבסיסיים הם מטריצות• פוגשת שם משתנה חדש, היא יוצרת matlabכש •

אוטומטית משתנה מתאים ומקציבה לו זכרוןאם המשתנה כבר קיים, התוכן שלו משתנה•

מייצרת מטריצה בגודל num_students = 25לדוג' הפקודה •1X1 25 ומציבה לתא היחיד שלו את הערך

•Case sensitive

Page 10: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

10

מספרים:•11, -9.789, 3רישום עשרוני: •- פקטור החזקה העשרונית: eרישום מדעי: •

1.60210e-20

j או iמספרים מורכבים: ע"י האות •

- המשךmatlabביטויים ב

Page 11: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

11

- המשךmatlabביטויים ב

תצוגה של מספרים:••format short :)ספרות5 )ברירת מחדל

•format short e ,ספרות5: תצוגה מדעית

Page 12: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

12

- המשךmatlabביטויים ב

•format long: 15ספרות

•format long e ,ספרות15: תצוגה מדעית

Page 13: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

13

- המשך:matlabביטויים ב

אופרטורים:•

Page 14: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

14

- המשך:matlabביטויים ב

מספרים קבועים:•

השמות אינם שמורים וניתן לדרוס את הערכים: •eps=7

clear epsלחזרה לערך המקורי נרשום •

Page 15: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

15

הגדרת מטריצות

הגדרת מטריצה:•• A=[1,3,5;2,4,6] orA=[1 3 5;2 4 6]

Page 16: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

16

אם לא נרצה לראות את תוכן המטריצה על המסך:•

• A=[1,3,5;2,4,6];

הגדרת מטריצות- המשך

Page 17: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

17

אם לא נגדיר שם למשתנה:•

אם יוגדר משתנה נוסף ללא שם, הערך הקודם שהוצב ב •ans ימחק

הגדרת מטריצות- המשך

Page 18: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

18

הגדרת מטריצת אפסים:•

• z=zeros(m,n)

הגדרת מטריצות- המשך

Page 19: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

19

הגדרת מטריצות- המשך

הגדרת מטריצת אחדות:•

• A=ones(m,n)

Page 20: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

20

הגדרת מטריצות- המשך

הגדרת מטריצת היחידה:•

• I=eye(n)

Page 21: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

21

הגדרת מטריצות- המשך

יצירת מטריצה אלכסונית:•

Page 22: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

22

הגדרת מטריצות- המשך

יצירת מטריצה אקראית:•

• A=rand(m,n)1 ל 0יצירת מטריצה עם ערכים אקראיים בין •

Page 23: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

23

:size ו lengthהפונקציות

מקבלת מטריצה ומחזירה את sizeהפונקציה •המימדים שלה:

מקבלת וקטור ומחזירה את lengthהפונקציה •אורכו:

Page 24: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

24

פעולות בסיסיות על מטריצות

•sum(A) סכום העמודות ב -A:

Page 25: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

25

- פעולות בסיסיות על מטריצותהמשך

•A’שחלוף מטריצה -

:Aסכום שורות ב •

Page 26: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

26

- פעולות בסיסיות על מטריצותהמשך

, כשמופעלת על מטריצה, תחזיר diagהפעולה •את האלכסון במטריצה:

Page 27: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

27

- פעולות בסיסיות על מטריצותהמשך

•fliplr(A):)שיקוף )החלפת סדר העמודות -

•flipud(A))שיקוף )החלפת סדר העמודות -

תרגיל: מציאת אלכסון משני במטריצה.•

פתרון:

Page 28: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

28

גישה לאיברים במטריצה

באמצעות סוגריים עגולות ואינדקסים.•האיבר הראשון מציין מספר שורה•

האיבר השני מציין מס' עמודה•

Page 29: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

29

גישה לאיברים במטריצה- המשך

אם ננסה לגשת לאיבר מחוץ למטריצה:•

מצד שני, ניתן להגדיל את המטריצה ע"י הצבת •ערך באינדקס לא קיים:

Page 30: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

30

אופרטור :

יצירת וקטור בעל ערכים עוקבים:•

בין האיברים:1כדי לקבל הפרש שונה מ •

Page 31: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

31

פעולות נוספות על מטריצות

כיצד נקבל תת מטריצה?•

דוג': סכום כל האיברים בעמודה האחרונה:•

endהמילה מציינת את השורה

או העמודה האחרונה

Page 32: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

32

פעולות נוספות על מטריצות- המשך

שרשור מטריצות:•][ע"י האופרטור •

Page 33: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

33

פעולות נוספות על מטריצות- המשך

מחיקת שורות ועמודות:•

:Aנרצה למחוק את העמודה השניה ב •

Page 34: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

34

פעולות נוספות על מטריצות- המשך

- מציאת ערכים בתוך וקטורים או findהפונק' •מטריצות:

ברירת מחדל: מציאת אינדקסים של איברים ששונים •:0מ

Page 35: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

35

פעולות נוספות על מטריצות- המשך

ניתן לבחור איברים מסוג שונה ע"י כתיבת התנאי •הרצוי:

Page 36: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

36

פעולות נוספות על מטריצות- המשך

בחירת איברים בוקטור שעומדים בתנאי מסוים:•

Page 37: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

37

פעולות נוספות על מטריצות- המשך

- מיון איברי וקטור:sortהפקודה •

Page 38: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

38

פעולות נוספות על מטריצות- המשך

כפל מטריצות:•

Page 39: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

39

פעולות נוספות על מטריצות- המשך

חיבור וחיסור מטריצות ע"י האופרטורים + ו –•

כפל מטריצה בסקלר:•

הופסת סלקר לכל איברי מטריצה:•

Page 40: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

40

פעולות נוספות על מטריצות- המשך

det(A)דטרמיננטה: •היפוך מטריצה:•

Page 41: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

41

פעולות נוספות על מטריצות- המשך

אופרטור נקודה- פעולה איבר מול איבר:•

b11/c11 b12/c12

b21/c21 b22/c22

Page 42: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

42

פעולות נוספות על מטריצות- המשך

דוגמה: כתבו ביטוי המחשב את הסכום•6

1

i

i

i

Page 43: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

43

פעולות נוספות על מטריצות- המשך

תרגיל:•

כתבו תוכנית שתחשב את הפונקציה

כאשר

עבור

התוכנית צריכה לחשב בנוסף את השגיאה היחסית והשגיאה המוחלטת, בהנחה שהערך המדויק של

.eהפונקציה הוא

1)1 (n

n

10kn

]1..30[k

Page 44: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

44

פעולות נוספות על מטריצות- המשך

פתרון:•

Page 45: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

45

בקרת זרימה

•if, else, elseif:if condition1

statement

elseif condition2

statement2

else

statement3

end

הערות:

&& "וגם"•

|| "או"•

= = השוואה•

Page 46: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

46

בקרת זרימה- המשך

דוגמה:•

Page 47: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

47

בקרת זרימה- המשך

בדוגמה הקודמת:• can“ מספרים: לעולם לא נגיע למצב של B ו Aאם •

not decide."

מטריצות, התנאי מתקיים רק אם הוא נכון B ו Aאם •לכל האיברים במטריצות.

Page 48: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

48

בקרת זרימה- המשך

switch:switch expressionהפקודה •

case value_1

statement_1

case value_2

statement_2

otherwise

default_statemet

end

Page 49: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

49

בקרת זרימה- המשך

דוגמה:•

Page 50: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

50

בקרת זרימה- המשך

הערות:• case, כאן מתבצע רק ה Cבניגוד לתחביר של •

המתאים הראשון.

יכול להיות ביטוי ולא switchהביטוי שמופיע לאחר •רק שם של משתנה:

Page 51: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

51

בקרת זרימה- המשך

:whileלולאת •

while condition

statements

end

Page 52: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

52

בקרת זרימה- המשך

דוגמה:•

Page 53: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

53

בקרת זרימה- המשך

:forלולאת •

for s:d:f

statements

end

Page 54: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

54

בקרת זרימה- המשך

דוגמה:•

בצורה שקולה:•

Page 55: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

55

בקרת זרימה- המשך

: מדלגת על הפקודות הנותרות continueהפקודה •באיטרציה הנוכחית ועוברת לאיטרציה הבאה של

הלולאה.

: מפסיקה את ריצת הלולאה. אם breakהפקודה •הפקודה מופיעה בתוך לולאה פנימית, אז רק

הלולאה הפנימית מופסקת.

Page 56: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

56

matlabכתיבת פונקציות ב

שורת ההגדרה:•function [output_vars]=function_name)input_vars(

•output_varsפלט הפונקציה -

•function_name שם הפונקציה. צריך להיות זהה -לשם הקובץ.

•input_varsקלט הפונקציה -

Page 57: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

57

- matlabכתיבת פונקציות ב המשך

תיעוד: מייד לאחר הגדרת הפונקציה יופיע תיעוד •קצר. תיעוד זה ירכיב את העזרה לגבי הפונקציה.

ואחריה שם הפונקציה תציג את helpהקלדת •התיעוד הנ"ל.

תחפש מילים המופיעות בתיעוד lookupפונקצית •זה.

Page 58: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

58

- matlabכתיבת פונקציות ב המשך

:1דוגמה •

מכיל:hello.mקובץ

בשורת הפקודה נרשום:

Page 59: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

59

- matlabכתיבת פונקציות ב המשך

:calc_area_perimeter.m: בקובץ 2דוגמה•

Page 60: 1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory המשתנים הבסיסיים : וקטורים ומטריצות מספר רב של

60

- matlabכתיבת פונקציות ב המשך

קריאה לפונקציה:•