1 מבוא ל matlab שיטות נומריות תרגול 3. 2 מבוא matlab=matrix laboratory...
Post on 21-Dec-2015
241 views
TRANSCRIPT
1
matlabmatlab מבוא למבוא ל
שיטות נומריות3תרגול
2
מבוא
•matlab=matrix laboratoryהמשתנים הבסיסיים: וקטורים ומטריצות•
מספר רב של פונקציות מובנות•
משמש לתחומים רבים•
matlabבקורס זה אנו נלמד מבוא ל •
3
שימוש בתוכנה
במעבדות •
כדי לפתוח את התוכנה, נקליד בשורת הפקודה •.matlab את הפקודה starבמחשבי ה
4
שימוש בעזרה
פתיחת ממשק העזרה:•
5
שימוש בעזרה
ואחריה שם פונקציה תציג הסבר helpהפקודה •לגבי פעולת הפונקציה והשימוש בה:
6
שימוש בעזרה- המשך
ואחריה שם פונקציה תפתח את docהפקודה •ממשק העזרה עבור הפונק' הנ"ל.
ואחריה מילת מפתח תציג lookforהפקודה •רשימת פונקציות שיש להן קשר למילת המפתח.
7
עבודה עם קבצים
– שני סוגים:m.קבצים עם סיומת •סקריפט: •
אינו מקבל קלט ואינו מחזיר פלט.•
.workspaceעובד על מידע שנמצא ב •
או F5הרצתו ע"י •
פונקציות:•יכולות לקבל קלט ולהחזיר פלט.•
המשתנים מקומיים לפונקציה.•
8
עבודה עם קבצים- המשך
- מאחסנים משתנים ואת הערכים mat.קבצי •שלהם.
- מאחסנים גרפים.fig.קבצי •
9
:matlabביטויים ב
משתנים:•אין צורך להגדיר טיפוס•הטיפוסים הבסיסיים הם מטריצות• פוגשת שם משתנה חדש, היא יוצרת matlabכש •
אוטומטית משתנה מתאים ומקציבה לו זכרוןאם המשתנה כבר קיים, התוכן שלו משתנה•
מייצרת מטריצה בגודל num_students = 25לדוג' הפקודה •1X1 25 ומציבה לתא היחיד שלו את הערך
•Case sensitive
10
מספרים:•11, -9.789, 3רישום עשרוני: •- פקטור החזקה העשרונית: eרישום מדעי: •
1.60210e-20
j או iמספרים מורכבים: ע"י האות •
- המשךmatlabביטויים ב
11
- המשךmatlabביטויים ב
תצוגה של מספרים:••format short :)ספרות5 )ברירת מחדל
•format short e ,ספרות5: תצוגה מדעית
12
- המשךmatlabביטויים ב
•format long: 15ספרות
•format long e ,ספרות15: תצוגה מדעית
13
- המשך:matlabביטויים ב
אופרטורים:•
14
- המשך:matlabביטויים ב
מספרים קבועים:•
השמות אינם שמורים וניתן לדרוס את הערכים: •eps=7
clear epsלחזרה לערך המקורי נרשום •
15
הגדרת מטריצות
הגדרת מטריצה:•• A=[1,3,5;2,4,6] orA=[1 3 5;2 4 6]
16
אם לא נרצה לראות את תוכן המטריצה על המסך:•
• A=[1,3,5;2,4,6];
הגדרת מטריצות- המשך
17
אם לא נגדיר שם למשתנה:•
אם יוגדר משתנה נוסף ללא שם, הערך הקודם שהוצב ב •ans ימחק
הגדרת מטריצות- המשך
18
הגדרת מטריצת אפסים:•
• z=zeros(m,n)
הגדרת מטריצות- המשך
19
הגדרת מטריצות- המשך
הגדרת מטריצת אחדות:•
• A=ones(m,n)
20
הגדרת מטריצות- המשך
הגדרת מטריצת היחידה:•
• I=eye(n)
21
הגדרת מטריצות- המשך
יצירת מטריצה אלכסונית:•
22
הגדרת מטריצות- המשך
יצירת מטריצה אקראית:•
• A=rand(m,n)1 ל 0יצירת מטריצה עם ערכים אקראיים בין •
23
:size ו lengthהפונקציות
מקבלת מטריצה ומחזירה את sizeהפונקציה •המימדים שלה:
מקבלת וקטור ומחזירה את lengthהפונקציה •אורכו:
24
פעולות בסיסיות על מטריצות
•sum(A) סכום העמודות ב -A:
25
- פעולות בסיסיות על מטריצותהמשך
•A’שחלוף מטריצה -
:Aסכום שורות ב •
26
- פעולות בסיסיות על מטריצותהמשך
, כשמופעלת על מטריצה, תחזיר diagהפעולה •את האלכסון במטריצה:
27
- פעולות בסיסיות על מטריצותהמשך
•fliplr(A):)שיקוף )החלפת סדר העמודות -
•flipud(A))שיקוף )החלפת סדר העמודות -
תרגיל: מציאת אלכסון משני במטריצה.•
פתרון:
28
גישה לאיברים במטריצה
באמצעות סוגריים עגולות ואינדקסים.•האיבר הראשון מציין מספר שורה•
האיבר השני מציין מס' עמודה•
29
גישה לאיברים במטריצה- המשך
אם ננסה לגשת לאיבר מחוץ למטריצה:•
מצד שני, ניתן להגדיל את המטריצה ע"י הצבת •ערך באינדקס לא קיים:
30
אופרטור :
יצירת וקטור בעל ערכים עוקבים:•
בין האיברים:1כדי לקבל הפרש שונה מ •
31
פעולות נוספות על מטריצות
כיצד נקבל תת מטריצה?•
דוג': סכום כל האיברים בעמודה האחרונה:•
endהמילה מציינת את השורה
או העמודה האחרונה
32
פעולות נוספות על מטריצות- המשך
שרשור מטריצות:•][ע"י האופרטור •
33
פעולות נוספות על מטריצות- המשך
מחיקת שורות ועמודות:•
:Aנרצה למחוק את העמודה השניה ב •
34
פעולות נוספות על מטריצות- המשך
- מציאת ערכים בתוך וקטורים או findהפונק' •מטריצות:
ברירת מחדל: מציאת אינדקסים של איברים ששונים •:0מ
35
פעולות נוספות על מטריצות- המשך
ניתן לבחור איברים מסוג שונה ע"י כתיבת התנאי •הרצוי:
36
פעולות נוספות על מטריצות- המשך
בחירת איברים בוקטור שעומדים בתנאי מסוים:•
37
פעולות נוספות על מטריצות- המשך
- מיון איברי וקטור:sortהפקודה •
38
פעולות נוספות על מטריצות- המשך
כפל מטריצות:•
39
פעולות נוספות על מטריצות- המשך
חיבור וחיסור מטריצות ע"י האופרטורים + ו –•
כפל מטריצה בסקלר:•
הופסת סלקר לכל איברי מטריצה:•
40
פעולות נוספות על מטריצות- המשך
det(A)דטרמיננטה: •היפוך מטריצה:•
41
פעולות נוספות על מטריצות- המשך
אופרטור נקודה- פעולה איבר מול איבר:•
b11/c11 b12/c12
b21/c21 b22/c22
42
פעולות נוספות על מטריצות- המשך
דוגמה: כתבו ביטוי המחשב את הסכום•6
1
i
i
i
43
פעולות נוספות על מטריצות- המשך
תרגיל:•
כתבו תוכנית שתחשב את הפונקציה
כאשר
עבור
התוכנית צריכה לחשב בנוסף את השגיאה היחסית והשגיאה המוחלטת, בהנחה שהערך המדויק של
.eהפונקציה הוא
1)1 (n
n
10kn
]1..30[k
44
פעולות נוספות על מטריצות- המשך
פתרון:•
45
בקרת זרימה
•if, else, elseif:if condition1
statement
elseif condition2
statement2
else
statement3
end
הערות:
&& "וגם"•
|| "או"•
= = השוואה•
46
בקרת זרימה- המשך
דוגמה:•
47
בקרת זרימה- המשך
בדוגמה הקודמת:• can“ מספרים: לעולם לא נגיע למצב של B ו Aאם •
not decide."
מטריצות, התנאי מתקיים רק אם הוא נכון B ו Aאם •לכל האיברים במטריצות.
48
בקרת זרימה- המשך
switch:switch expressionהפקודה •
case value_1
statement_1
case value_2
statement_2
…
otherwise
default_statemet
end
49
בקרת זרימה- המשך
דוגמה:•
50
בקרת זרימה- המשך
הערות:• case, כאן מתבצע רק ה Cבניגוד לתחביר של •
המתאים הראשון.
יכול להיות ביטוי ולא switchהביטוי שמופיע לאחר •רק שם של משתנה:
51
בקרת זרימה- המשך
:whileלולאת •
while condition
statements
end
52
בקרת זרימה- המשך
דוגמה:•
53
בקרת זרימה- המשך
:forלולאת •
for s:d:f
statements
end
54
בקרת זרימה- המשך
דוגמה:•
בצורה שקולה:•
55
בקרת זרימה- המשך
: מדלגת על הפקודות הנותרות continueהפקודה •באיטרציה הנוכחית ועוברת לאיטרציה הבאה של
הלולאה.
: מפסיקה את ריצת הלולאה. אם breakהפקודה •הפקודה מופיעה בתוך לולאה פנימית, אז רק
הלולאה הפנימית מופסקת.
56
matlabכתיבת פונקציות ב
שורת ההגדרה:•function [output_vars]=function_name)input_vars(
•output_varsפלט הפונקציה -
•function_name שם הפונקציה. צריך להיות זהה -לשם הקובץ.
•input_varsקלט הפונקציה -
57
- matlabכתיבת פונקציות ב המשך
תיעוד: מייד לאחר הגדרת הפונקציה יופיע תיעוד •קצר. תיעוד זה ירכיב את העזרה לגבי הפונקציה.
ואחריה שם הפונקציה תציג את helpהקלדת •התיעוד הנ"ל.
תחפש מילים המופיעות בתיעוד lookupפונקצית •זה.
58
- matlabכתיבת פונקציות ב המשך
:1דוגמה •
מכיל:hello.mקובץ
בשורת הפקודה נרשום:
59
- matlabכתיבת פונקציות ב המשך
:calc_area_perimeter.m: בקובץ 2דוגמה•
60
- matlabכתיבת פונקציות ב המשך
קריאה לפונקציה:•