new הימושייו בלטמ תנכות סרוק הדובע תביבס :1 'סמ...
TRANSCRIPT
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 1עמ' 1שיעור
מטלב ויישומיה תוכנתקורס סביבת עבודה: 1שיעור מס'
במטלב מערכים
על תוכנת מטלב
ומשקף את ייעודה המקורי של התוכנה כממשק MATrix LABoratoryהוא ראשי תיבות של MATLABהשם
לחישובים באלגברה ליניארית.
ייחודה של התוכנה הוא בטיפול במערכים בקלות ובטבעיות.
-. חישובים לא נשמרים באופן אוטומטי )זה אינו גיליוןפקודה-שורתהמבוסס בעיקר על יביאינטראקטלתוכנה ממשק
כן קיימים ממשקים גרפיים ייעודיים לחלק -עבודה ועליו כלים שונים. כמו-ןבנוי כשולח (GUIעבודה(. הממשק הגרפי )
מן היישומים.
.דינמיתהיא הקצאת המשתנים
יצועים של תוכניות.ים לפיתוח, עריכה, בדיקה ומדידת בלעבודה לא אינטראקטיבית קיימים כל
מערכים
ממדי )שורות ועמודות(.-ך דומערך הוא קבוצה מסודרת של רכיבים. במטלב, ברירת המחדל היא מער
עמודות. 3שורות, 2x3 ,2סדר ממדי:-דוגמא למערך דו
ממדי )שורה או עמודה(.-מקרה פרטי: מערך חד
A A =
3 6 8
0 9 3
R עמודות 3, שורה אחת, 1x3מערך שורה: סדר R =
3 6 8
C שורות, עמודה אחת 4x1 ,4מערך עמודה: סדר C =
4
7
8
1
.singletonהוא מימד מנוון ונקרא במטלב 1מימד בעל אורך של
s , שורה אחת, עמודה אחת.1x1, סדר מקרה פרטי: סקלרs =
100
עמודות. )הערה: כל מערך 0שורות, 0x0 ,0מקרה פרטי: מערך ריק, סדר
(.0x5, הוא מערך ריק. לדוגמא, מערך מסדר 0שאחד הממדים שלו הוא
E E =
[]
מידע על ממדי מערכיםפקודות לקבלת
אופן הבא:ממדי מערכים במטלב מסודרים ב
מס' שורה, או מקום לאורך עמודה. 1
שורה.מס' עמודה, או מקום לאורך 2
מס' מישור )אם יש( 3
מאחר שבמטלב אין חובה להגדיר משתנים, ממדי מערכים יכולים להשתנות בהתאם לנתונים ולכן לא ניתנים לקביעה
בזמן כתיבת הפקודה/תוכנית.
די מערכים.הפקודות הבאות מחזירות מידע על ממ
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 2עמ' 1שיעור
דוגמאות שימוש תיאור פקודה
size האיברים(. מחזירה מערך לפי ממדי מערך )סידור
הסדר:
מס' שורות )או אורך עמודה(,
מס' עמודות )או אורך שורה(,
ממדים נוספים )אם יש(.
מספר איברי המערך המוחזר שווה למספר
ממדים(. 2)מינימום arrayהמימדים במערך
size(array) size(A) ans =
2 3
size(D) ans =
3 3 2
size(E) ans =
0 0
size(R) ans =
1 3
(n1,n2,...]=size(array) [r,c]=size(A] קבלת כל מימד במשתנה נפרד.r =
2
c =
3
[r,c]=size(R) r =
1
c =
3
[r,c,p]=size(D) r =
3
c =
3
p =
2
(size(array,dim) size(A,2 מספר איברים לאורך מימד מסוים בלבדans =
3 size(D,3)
ans =
2
size(R,1) ans =
1
numel מספר כולל של איברים במערך numel(array) numel(D) ans =
18
numel(E) ans =
0
length אורך מוגדר כמספר הגדול ביותר מבין המימדים
(.size)מקסימום המערך המוחזר מפקודת
מאחר שאין לדעת מראש לאיזה מימד מתייחס
הערך המוחזר, מומלץ להשתמש בפקודה זו רק
ממדי.-חד אם ידוע מראש שהמערך הוא
length(array) length(R) ans =
3
length(C) ans =
4
length(A) ans =
3
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 3עמ' 1שיעור
MATLABביבת ס
desktopשולחן העבודה
משטחים וסרגלים
context menuהקשר -תפריט תלוי
משטח undockושחרור dockעיגון
current folderחלון הקבצים
בץ:ת קופתיח
לפי הקשר •
בעורך של מטלב )טקסט( •
מחוץ למטלב •
. דוגמאות:import dataכלי ייבוא מקובץ:
mat :pHspectra.matקריאת משתנים מקובץ •
births.xlsקריאת מערכי עמודה מקובץ אקסל: •
f1.wavקריאת משתנים מקובץ הקלטה קולית: •
peppers.pngממדי מקובץ תמונה: -קריאת מערך תלת • קבציםת של מקובצהצגה
חיפוש טקסט בכל הקבצים
workspaceחלון זיכרון העבודה
רשימת משתנים
מחיקת משתנים, שינוי שם, שמירה לקובץ
שרטוט
variable editorפתיחת המשתנה בחלון
משתנים
. Workspaceנקרא MATLAB-זיכרון העבודה ב
(. במטלב יש underscore_ )-מש גם בספרות וחייבים להתחיל באות. בהמשך השם ניתן להשת שמות משתנים
(.A (case sensitiveוגדולות aהבדל בין אותיות קטנות
השמה למשתנה לא קיים גורמת אין חובה להגדיר משתנים מראש. MATLAB-: בקצאת/הגדרת משתנהה
.להקצאת משנה חדש
.וא שגיאהבמשתנה שלא הוגדר ה שימוש
. ניתן להגדיר doubleברירת המחדל לנתון נומרי היא ן הנתונים של ההשמה.: סוג המשתנה נגזר מסוגי משתנים
משתנים מסוגים נומריים נוספים.
ערכים מוגדרים מראש
הערכים הבאים קבועים מראש )אין צורך להגדירם(. השמה למשתנים בשמות אלה מוחקת את הערך הראשוני.
eps ∞ Inf ונה )ההפרש הקטן ביותר(דיוק המכ
NaN ללא ערך )נתון חסר( realmax הגדול ביותר שניתן לייצוג במחשב וחלטערך מ
realmin π = 3.1416... pi הקטן ביותר שניתן לייצוג במחשב ערך מוחלט
ans i תוצאת החישוב האחרון שלא הושם למשתנה. או j 1−
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 4עמ' 1שיעור
: משתניםב פקודות לטיפול
דוגמא שימוש תיאור פקודה
who רשימת משתנים
הבזיכרון העבוד
who who
Your variables are:
A C E R T c r tvals
B D M S ans p s whos מידע על משתנים whos
whos
Name Size Bytes Class Attributes
A 2x3 48 double
B 4x1 32 double
C 4x1 32 double
D 3x3x2 144 double
E 0x0 0 double
M 2x3 48 double
R 1x3 24 double
S 1x3 24 double
T 3x3 72 double
ans 1x2 16 double
c 1x1 8 double
p 1x1 8 double
r 1x1 8 double
s 1x1 8 double
tvals 301x1 2408 double
clear מחיקת כל המשתנים מזיכרון העבודה clear clear
clear var1 var2 ... clear A B b c מחיקת משתנים מסוימים
command windowחלון העבודה
מציג פקודות + תוצאות
סימון תחביר בצבעים
בדיקת זוגיות )סוגריים וסימנים נוספים(
איחזור פקודות קודמות: ע"י מקש
TABע"י מקש השלמת שמות
רמז על תחביר פקודה
פורמטים להצגת מידע נומרי
בייצוג הפנימי של הערך. אין שינויבחלון הפקודות. doubleמשנה את האופן שבו יוצגו ערכים מסוג formatפקודת
המחדל משתנה לפי גודל הערך, וכן האם הוא מספר שלם. בהצגה של מערך, ברירת המחדל נקבעת לפי -ברירת
ר הגדול ביותר.האיב
דוגמאות הסבר פרמטר
short ,0.003 הנקודה )ברירת מחדל(ספרות אחרי 5קבוע ans =
0.0030
shorte ,ספרות אחרי הנקודה. 5נקודה צפה format shorte 0.003 ans =
3.0000e-03
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 5עמ' 1שיעור
דוגמאות הסבר פרמטר
long ,ספרות אחרי הנקודה 15קבוע format long 0.003 ans =
0.003000000000000
longe ,ספרות אחרי הנקודה. 15נקודה צפה format longe 0.003 ans =
3.000000000000000e-03
historyחלון
רשימת פקודות קודמות
ביצוע
העתקה לחלון העבודה
העתקה לקובץ תוכנית
שימוש בתיעוד/עזרה
הצגת התוכן בחלון העבודה. – ה()בחלון העבוד helpפקודת 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.
Reference page for sqrt ן העבודהבחלו xf הקשה על
.איםנושמילה או עיון ב וחיפוש בסרגל הכלים Resourcesבאזור ? במקש Help Browser פתיחת מערכת העזרה
Help Browser .doc sqrtהצגת התוכן בחלון –)בחלון העבודה( helpפקודת
כתיבת תוכניות
במטלב תוכניות
תוכנית במטלב יכולה לכלול כמעט כל פקודה שניתן לבצע מחלון העבודה.
(.mfile)ולכן נקרא גם mסיומת בקובץ טקסט בעלהתוכנית כתובה
למטלב עורך תוכניות מובנה, אולם ניתן לערוך תוכנית מטלב בכל עורך טקסטואלי.
הפעלת התוכנית: כתיבת שם הקובץ )ללא הסיומת(. למעשה כל תוכנית במטלב יוצרת פקודה חדשה, ששמה כשם
הקובץ.
בה הופעלה הפקודה.ע חוזר לסביבה מתבצעות, הביצולאחר שכל הפקודות בקובץ
כללי תחביר – mfiles קבצי תוכנית
(; או , -כל פקודה מתחילה בשורה חדשה. )ניתן לכתוב כמה פקודות בשורה ע"י הפרדתן ב
נקודות( מסמן שהפקודה ממשיכה בשורה הבאה. 3) ... ניתן לכתוב פקודה בכמה שורות. הסימן
ערה, עד לסוף השורה.ב להנחש %חרי סימן כל טקסט שבא א
את כל פקודות ההשמה בקבצי תוכנית, למעט פקודות שמעוניינים במפורש להציג את תוצאותיהן ; -מומלץ לסיים ב
תוך כדי ביצוע.
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 6עמ' 1שיעור
יצירת קובץ תוכנית
Homeבסרגל Fileבאזור New scriptכפתור פתיחת קובץ ריק:
כתיבת פקודות
Command Historyלבחור את הפקודות מחלון ודה:בפקודות שבוצעו בחלון העבשימוש
Create M-Fileולבחור context menuלהפעיל
.save asובחירת save, לחיצה על תפריט Fileבאזור EDITORשמירה: בחלון העורך בסרגל
scriptסקריפט
שהפקודות בו מבוצעות כאילו הופעלו מחלון הפקודות. mfileסקריפט הוא קובץ
(:baseתמש במרחב המשתנים הכללי של מטלב )פט משהסקרי
ניתן להשתמש בסקריפט במשתנים שהוגדרו לפני הרצתו.
כל המשתנים שנוצרים ע"י הסקריפט נשארים במרחב המשתנים הכללי גם לאחר שהריצה הסתיימה.
מרחב הכללי.הסקריפט יכול לשנות משתנים ב
פקודות פשוטות לקריאה וכתיבה מקובץ
צרות משתנים מקבצים משני סוגים:הבאות יוהפקודות
משתנים שמורים בפורמט הפנימי של מטלב )כפי שהם שמורים בזיכרון העבודה(. אם בפקודה – mat.קובץ .א
mat.לא מצוינת הסיומת, ברירת המחדל היא קובץ
צי טקסט . )ניסיון לקרוא קבאחדממדי -קובץ טקסט המכיל רק מידע נומרי, המסודר בצורה של מערך דו .ב
רי, יגרום לשגיאה(. אם בפקודה מצוינת כל סיומת למעט , למשל קבצים הכוללים טקסט לא נומבפורמט אחר
mat.ברירת המחדל היא קובץ טקסט בפורמט זה ,
דוגמא פעולה תיאור פקודה
load קריאת משתניםמקובץ בפורמט
mat.מטלב
clear המשתנים נקראים מן הקובץ לזיכרון העבודה.load arrays
who
Your variables are:
A C E R T s
B D M S c tvals קריאת מטריצה נומרית מקובץ
טקסט.
המטריצה נקראת למשתנה ששמו כשם הקובץ )ללא הסיומת(
clear
load pHspectra.txt
size(pHspectra)
ans =
302 8 save שמירת משתנים
matלקובץ שמירת כל המשתנים לקובץ
matlab.mat
save Saving to: D:\course\eng\matlab.mat
save myvars שמירת כל המשתנים לקובץ מסוים
save file R S s שמירת משתנים מסוימים לקובץ מסוים
שמירת משתנים לקובץ טקסט
המשתנים נכתבים לקובץ בזה אחרי זה. יש להוסיף
לתרגום מבינארי לטקסט. ascii–פרמטר
save file.txt A C –ascii
audioread פלט ראשון: מערך הדגימות קריאת קובץ קול
פלט שני: תדר הדגימה.
[y,f] = audioread('wav\f1.wav');
length(y) ans =
40756 xlsread קריאת קבצי
csvאקסל,
פלט: המטריצה המספרית
, ללא טקסט.הגדולה ביותר
nums = xlsread('births.xls');
size(nums) ans =
36 13
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 7עמ' 1שיעור
שרטוט עקומותפקודות ל( n,ynxהנקודות ), ומשרטטת עקומה שעוברת דרך כל yוערכי ציר xמקבלת שני מערכים של ערכי ציר plotפקודת
, אז הפקודה תשרטט כל אחת מן xמטריצה שאורך העמודות שלה כאורך y. אם (plot(x,yבהתאמה. צורת השימוש:
.xכפונקציה של yהעמודות של
יכול להיות אחד מן patternכאשר (plot(x,y,patternניתן לקבוע את צבע הקו באמצעות ארגומנט נוסף לפקודה:
)יש לכלול בפקודה גם את הגרשים(. צהוב 'y' ורוד 'm' תכלת 'c'שחור 'k' ירוק 'g' כחול 'b' אדום 'r' הבאים:
תתוארנה אפשרויות נוספות לשליטה על מאפייני העקומות ועל מאפיינים נוספים של השרטוט. 4 בשיעור
הקיימת. פקודת כשמבצעים כמה פקודות שרטוט, ברירת המחדל היא שכל פקודת שרטוט מוחקת את העקומה
on hold מאפשרת יותר מעקומה אחת במערכת צירים. מספיק לבצע פקודה זו פעם אחת. לאחר הביצוע, כל
הפקודות הבאות מוסיפות עקומות למערכת הצירים הקיימת.
: 1דוגמא ◄
סקריפט הקובץ
d1script.m הוא דוגמא
לתוכנית פשוטה אשר קוראת
משתנים מקובץ, מציגה
ת חלק אותם גרפית ושומר
מהם לקובץ אחר.
d1script
Name Size Bytes Class Attributes
nm 301x1 2408 double
pH03 301x1 2408 double
pH13 301x1 2408 double
pH345 301x1 2408 double
pH379 301x1 2408 double
pH43 301x1 2408 double
pH47 301x1 2408 double
pH507 301x1 2408 double
nmSize =
301 1
יצירת מערכים מספריים
יצירת סדרות
start : step : stop יוצר מערך שורה שאיבריו סדרה חשבונית. :האופרטור
2:2:16 ans =
2 4 6 8 10 12 14 16 0.5:0.5:3
ans =
0.5000 1.0000 1.5000 2.0000 2.5000 3.0000
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 8עמ' 1שיעור
start : stop .1חסר, ברירת המחדל היא stepאם
2:11 ans =
2 3 4 5 6 7 8 9 10 11 .stop, הפעולה עוצרת באיבר האחרון לפני step-ו startאיננו חלק מן הסדרה החשבונית המוגדרת ע"י stopאם
0.5:10 ans =
Columns 1 through 7
0.5000 1.5000 2.5000 3.5000 4.5000 5.5000 6.5000
Columns 8 through 10
7.5000 8.5000 9.5000
start:-step:stop .בערך שלילי stepליצירת סדרה יורדת יש לקחת
10:-1:5 ans =
10 9 8 7 6 5 8.5:-2:0 ans =
8.5000 6.5000 4.5000 2.5000 0.5000
(linspace(start,stop,n אברים nליצירת סדרה ליניארית עם linspaceפקודת
(linspace(0,10,6 מספרים. 100חסר, ברירת המחדל היא nאם ans =
0 2 4 6 8 10
(b10. v=logspace(a,b,n-ל a10בין איברים nליצירת סדרה לוגריתמית עם logspaceפקודת
.50חסר, ברירת המחדל היא nקבועים. אם v)10log)כלומר, המרווחים בין איברי
v = logspace(1,2,6) v =
10.0000 15.8489 25.1189 39.8107 63.0957 100.0000 log10(v) ans =
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000
ציון מפורש של איברי המערך
יצירת מערך שורה: רשימת איברים מופרדים
ברווחים או בפסיקים
[a1 a2 a3 a4 ...]
or: [a1,a2,a3,a4...]
V15 = [3 7 -1 3 0] V15 =
3 7 -1 3 0 יצירת מערך עם יותר משורה אחת:
ENTER> M23 = [4 2 9>סיום שורה ע"י 2 -1 3] M23 =
4 2 9
2 -1 3 [M23 = [4 2 9 ; 2 -1 3 ;סיום שורה ע"י
M23 =
4 2 9
2 -1 3
[V41 = [1 ; 2 ; 3 ; 4 יצירת מערך עמודה: אבר אחד בכל שורה.V41 =
1
2
3
4
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 9עמ' 1שיעור
מערכים מיוחדים
קיימות במטלב פקודות לייצור מערכים מסוגים שונים. כמה דוגמאות:
מדיםמכל הארגומנט אחד ל ארגומנט לכל מימד קבועים
(ones(n,m) ones(sz 1שכולה nxmמטריצה
(zeros(n,m) zeros(sz 0שכולה nxmמטריצה
(NaN nan(n,m) nan(szשכולה nxmמטריצה
.הוא מערך שורה של הממדים szכאשר
.[sz=[n mבמערך דו ממדי
1: מטריצה שכולה דוגמאות
ones(2,4)
ans =
1 1 1 1
1 1 1 1
NaNמערך שורה שכולו
nan([1 6])
ans =
NaN NaN NaN NaN NaN NaN מספרים אקראיים
(rand(n,m) rand(sz 1-ל 0התפלגות אחידה בין
(randn(n,m) randn(sz 1ברוחב 0התפלגות גאוסיאנית סביב
(K randi(K,n,m) randi(K,sz-ל 1מספרים שלמים בהתפלגות אחידה בין
:ממדים בפקודות שלמעלה
ממדים. 2-ממדיים ע"י ציון יותר מ-ניתן ליצור מערכים רב
.מטריצה ריבועיתאם מציינים רק מימד אחד, נוצרת
(rand(1,4 :דוגמאותans =
0.8147 0.9058 0.1270 0.9134 randn(3) ans =
-0.7873 -1.0689 1.4384
0.8884 -0.8095 0.3252
-1.1471 -2.9443 -0.7549
randi(9,5) ans =
6 9 8 9 7
1 2 2 6 7
3 9 4 1 7
5 9 9 8 4
9 5 8 9 6 מטריצות אלכסוניות
(nxn eye(nמטריצת יחידה בגודל
(eye(3 .1אלכסון שכולו ans =
1 0 0
0 1 0
0 0 1 (v diag(vממדי -יצירת מטריצה אלכסונית ממערך חד
.Vהאלכסון הראשי של המטריצה הריבועית הוא המערך החד ממדי
.Vממדי המטריצה נקבעים לפי אורך המערך
diag([5 -1 8 6]) ans =
5 0 0 0
0 -1 0 0
0 0 8 0
0 0 0 6 diag(v,k)
חיובי מעל האלכסון הראשי, kיצירת מטריצה עם אלכסון משני:
ראשי.שלילי מתחת לאלכסון ה
diag([5 -1 8],-1) ans =
0 0 0 0
5 0 0 0
0 -1 0 0
0 0 8 0
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 10עמ' 1שיעור
diag(M,k)
לא מצוין, ברירת המחדל היא k. אם Mמציאת אלכסון של מטריצה
k=0 .)אלכסון ראשי(
ת.הפקודה מוגדרת גם למטריצות מלבניו
G=[5 -1 8 ; 3 1 7 ] G =
5 -1 8
3 1 7 diag(G) ans =
5
1
פעולות מתמטיות במטלב
פעולות לפי הגדרות אלגברה ליניארית
פעולת האופרטורים המתמטיים חיבור, חיסור, כפל, חילוק וחזקה מוגדרת במטלב בהתאם לכללים של אלגברה
סדר הקדימויות בין האופרטורים השונים הוא כמקובל במתמטיקה. טריצות(.ליניארית )וקטורי שורה ועמודה ומ
דוגמא הגדרה פעולה
C=A+B kmkmkm חיבור BAC += ApM=A+M
ApM =
4 8 11
4 14 9 חיסור
C = A-B kmkmkm BAC −=
C=s*A רכפל בסקל
s
AC kmkm =
M2=ApM*2
M2 =
8 16 22
C=A/s חילוק בסקלר 18 28 8
s
AC kmkm =
כפל מטריצות
C=A*B
אם ממדי המערכים לא מתאימים,
מתקבלת הודעת שגיאה.
: אם המערך השמאלי מקרה פרטי
ה, הוא עמודה והמערך הימני הוא שור
המכפלה שלהם היא כל המכפלות של
אבר של השמאלי עם אבר של הימני.
AT = A*T
AT =
8.6667 5.5000 4.1000
5.5000 3.7500 2.8500 B*R ans =
3 6 8
6 12 16
9 18 24
12 24 32
העלאה
בחזקה
)סקלר(
C = A^s אם החזקה שלמה, כפל חוזר
. אם החזקה שבורה, Aשל
לפי פיתוח לטור.
T2 = T^2
T2 =
1.3611 0.7500 0.5250
0.7500 0.4236 0.3000
0.5250 0.3000 0.2136
הפעלת פונקציות מתמטיות על איברי מערך
מערך, מחזירות מערך של ערכי הפונקציה עבור כל אחד מן במטלב כל הפונקציות המתמטיות המופעלות על
בנפרד.האיברים
C=f(A) exp(-R)
ans =
0.0498 0.0025 0.0003
( )kmkm AfC =
=n
nmknkm BAC
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 11עמ' 1שיעור
: שיני מסור.2דוגמא ◄
)מודולוס=שארית( n mod mהפונקציה המתמטית
. m-ב nמחשבת את השארית מחלוקה של
מצייר גל "שיני מסור" מחשב ו d1rampהסקריפט
( A..0)כלומר בין התחום Aבאמפליטודה נתונה
שארית. פונקציית המחזור נתון, תוך שימוש ב-בזמן
מופעלת על המערך, (mod(n,mפקודת מטלב
.לכל איבר בנפרדומחשבת שארית
( עובר כפולה שלמה של tבכל פעם שהארגומנט )ציר
.זמן מחזור, יש "קפיצה" והעלייה מתחילה שוב
d3ramp
: פונקציות הפועלות על מערך שלם לפי כללי האלגברה הליניארית )למשל שורש ריבועי של מטריצה( נקראות הערה
(.SQRTM בשם נפרד )למשל
הרחבה סקלרית
כפל וחילוק מערך בסקלר מוגדר ככפל וחילוק כל אחד מן האיברים, לפי כללי אלגברה ליניארית.
לר ממערך מוגדרים כפעולה על כל אחד מן האיברים.במטלב, גם חיבור וחיסור סק
C=s±A R+3 ans =
6 9 11 מייצר סיגנל mnoised1.: קובץ סקריפט 3דוגמא ◄
סינוס, ומוסיף לו רעש אקראי באמפליטודה נתונה.
ודת כאשר פק הסיגנל הנקי והמורעש משורטטים יחד.
rand מסביב כדי לייצר רעש . 0,1מייצרת ערכים בתחום
מכל 0.5( מפחיתים לילייםכלומר גם בערכים ש) 0-ל
הערכים האקראיים.
d1noise
פעולות בין אברי מערכים
חיבור וחיסור מערכים מוגדר כחיבור וחיסור כל אחד מן האיברים משני המערכים בהתאמה, לפי כללי אלגברה
ליניארית.
ע"י הוספה של אחד מן האיברים משני האיברים בהתאמה, במטלב ניתן לבצע גם כפל, חילוק והעלאה בחזקה על כל
לפני סימן האופרטור. . נקודה
דוגמא הגדרה כתיב פעולה
C=A.*B כפל איברים בהתאמהkmkmkm BAC =
R.*S ans =
3 12 24
C=A./B בהתאמהחלוקת איברים
km
km
B
A
kmC = A./(A+1) ans =
0.7500 0.8571 0.8889
0 0.9000 0.7500
kmkm AsC =
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 12עמ' 1שיעור
דוגמא הגדרה כתיב פעולה
C=s./A חלוקה של סקלר במערך
kmAs
kmC = 1./A ans =
0.3333 0.1667 0.1250
Inf 0.1111 0.3333
C=A.^B kmB העלאה בחזקה בהתאמהkmkm AC =
R.^S
ans =
3 36 512
העלאת מערך בחזקה
סקלרית
C=A.^s skmkm AC =
R.^2 ans =
9 36 64
C=s.^A kmA העלאת סקלר בחזקת מערךkm sC =
2.^R ans =
8 64 256
"מלבן מעוגל" נתון ע"י הנוסחה:: 4דוגמא ◄
𝑦 = ± (1 − |𝑥|1
∝)∝
1−כאשר ≤ 𝑥 ≤ עבור ערך .1
מקבלים מלבן, ועבור ערך גדול מקבלים קטן של
מלבן "מעוך" )כאשר הפינות "בולטות פנימה"(.
מלבן חצי מחשב ומצייר צורה של d1rectהסקריפט
מערך ויש לחשב x-מאחר ש .)החלק החיובי( מעוגל
.נקודה-משתמשים בפעולת חזקות,
d1rect
.2החזקות הראשונות של 10: לחשב סדרה של 1 תרגיל ◄
מרוכבים מספריםעבודה עם
במטלב ביצוע פעולות מתמטיות על מספרים מרוכבים נעשה בדומה לביצוע פעולות מתמטיות על מספרים ממשיים.
אין צורך להגדיר סוגי נתונים כמרוכבים אלא ההגדרה נעשית לפי ההקשר.
דוגמא פקודה פעולה
x+y*j a = 4+3*iאו x+y*i מחלק ממשי ומדומה מרוכב יצירת מספרa =
4.0000 + 3.0000i x+njאו x+ni בחלק המדומהלא חייבים סימן כפל
)לא שם משתנה( מספר nכאשר
b = 2j b =
0.0000 + 2.0000i
יצירת מספר מרוכב מחלק ממשי
מדומהו
complex(x,y)
ממשיים x,yכאשר
complex(4,0.00001) ans =
4.0000 + 0.0000i
(conj(z) p = conj(b צמודp =
0.0000 - 2.0000i (real(z) real(a חלק ממשי
ans =
4 (imag(z) imag(a חלק מדומה
ans =
3
-
ד"ר סמדר שץ ניברסיטת בר אילןאו ויישומיהקורס תוכנת מטלב
19פברואר 13מתוך 13עמ' 1שיעור
דוגמא פקודה פעולה
(abs(z) abs(a ערך מוחלטans =
5 (angle(z) angle(a זווית )פאזה(
ans =
0.6435 גם על מספרים מרוכבים )למעט ארגומנטים מסוימים בפונקציות במטלב כל הפונקציות המתמטיות מוגדרות
מיוחדות(. מספרים מרוכבים יכולים להתקבל במטלב גם במקרה שהתוצאה של פעולה על מספרים ממשיים היא
מספר מרוכב.
(q = (-1)^(1/4 מרוכבותתוצאות ותןשנ מספרים ממשייםחישוב על q =
0.7071 + 0.7071i l = log(-3) l =
1.0986 + 3.1416i
as = asin(2) as =
1.5708 - 1.3170i sin(as) ans =
2.0000 - 0.0000i
q+l חישוב על מספרים מרוכביםans =
1.8057 + 3.8487i sqrt(l)
ans =
1.4877 + 1.0558i
q^2 ans =
0.0000 + 1.0000i
: שורשים במישור המרוכב.5דוגמא ◄
ערכים nיש 1של המספר nלשורש
השורשים ממוקמים על מרוכבים שונים.
סביב ראשית 1היקף מעגל ברדיוס
nכלל עם והצירים, ויוצרים מצולע מש
צלעות.
את כל מחשב d1rootsהסקריפט
השורשים ומציג אותם במישור המרוכב.
חישוב השורש הראשון מתבסס על
1הזהות: = 𝑒2𝜋𝑖.
d1roots
קורס תוכנת מטלב ויישומיה שיעור מס' 1: סביבת עבודהמערכים במטלבעל תוכנת מטלבמערכיםפקודות לקבלת מידע על ממדי מערכים
סביבת MATLABשולחן העבודה desktopחלון הקבצים current folderחלון זיכרון העבודה workspaceמשתניםערכים מוגדרים מראשפקודות לטיפול במשתנים:חלון העבודה command windowפורמטים להצגת מידע נומריחלון historyשימוש בתיעוד/עזרה
כתיבת תוכניותתוכניות במטלבקבצי תוכנית mfiles – כללי תחביריצירת קובץ תוכניתסקריפט scriptפקודות פשוטות לקריאה וכתיבה מקובץפקודות לשרטוט עקומות
יצירת מערכים מספרייםיצירת סדרותציון מפורש של איברי המערךמערכים מיוחדים
פעולות מתמטיות במטלבפעולות לפי הגדרות אלגברה ליניאריתהפעלת פונקציות מתמטיות על איברי מערךהרחבה סקלריתפעולות בין אברי מערכיםעבודה עם מספרים מרוכבים