new הימושייו בלטמ תנכות סרוק הדובע תביבס :1 'סמ...

13
קורס תוכנת מטלב ויישומיה או ניברסיטת בר אילן ד"ר סמדר שץ עמ'1 מתוך13 פברואר19 שיעור1 קורס תוכנת מטלב ויישומיה שיעור מס'1 : סביבת עבודה מערכים במטלב על תוכנת מטלב השםMATLAB הוא ראשי תיבות שלMATrix LABoratory ומשקף את ייעודה המקורי של התוכנה כממשק לחישובים באלגברה ליניארית. ייחודה של התוכנה הוא בטיפול במערכים בקלות ובטבעיות. לתוכנה ממשק אינטראקט יבי המבוסס בעיקר על שורת- פקודהזה אינו גיליון( . חישובים לא נשמרים באופן אוטומטי- ( . הממשק הגרפי) עבודהGUI ) בנוי כשולח ן- עבודה ועליו כלים שונים. כמו- כן קיימים ממשקים גרפיים ייעודיים לחלק מן היישומים. הקצאת המשתנים היא דינמית. לעבודה לא אינטראקטיבית קיימים כל ים לפיתוח, עריכה, בדיקה ומדידת ב יצועים של תוכניות. מערכים מערך הוא קבוצה מסודרת של רכיבים. במטלב, ברירת המחדל היא מער ך דו- .)שורות ועמודות( ממדי דוגמא למערך דו- ממדי: סדר2x3 , 2 שורות,3 עמודות. מקרה פרטי: מערך חד- .)שורה או עמודה( ממדיA A = 3 6 8 0 9 3 מערך שורה: סדר1x3 , שורה אחת,3 עמודותR R = 3 6 8 מערך עמודה: סדר4x1 , 4 שורות, עמודה אחתC C= 4 7 8 1 מימד בעל אורך של1 הוא מימד מנוון ונקרא במטלבsingleton . מקרה פרטי: סקלר , סדר1x1 , שורה אחת, עמודה אחת.s s = 100 מקרה פרטי: מערך ריק, סדר0x0 , 0 שורות,0 הערה: כל מערך( . עמודות שאחד הממדים שלו הוא0 , הוא מערך ריק. לדוגמא, מערך מסדר0x5 .) E E = [] פקודות לקבלת מידע על ממדי מערכים ממדי מערכים במטלב מסודרים ב אופן הבא:1 מס' שורה, או מקום לאורך עמודה.2 מס' עמודה, או מקום לאורך שורה.3 )אם יש( מס' מישור מאחר שבמטלב אין חובה להגדיר משתנים, ממדי מערכים יכולים להשתנות בהתאם לנתונים ולכן לא ניתנים לקביעה בזמן כתיבת הפקודה/תוכנית. הפקודות הבאות מחזירות מידע על ממ די מערכים.

Upload: others

Post on 21-Oct-2020

1 views

Category:

Documents


0 download

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פקודות פשוטות לקריאה וכתיבה מקובץפקודות לשרטוט עקומות

    יצירת מערכים מספרייםיצירת סדרותציון מפורש של איברי המערךמערכים מיוחדים

    פעולות מתמטיות במטלבפעולות לפי הגדרות אלגברה ליניאריתהפעלת פונקציות מתמטיות על איברי מערךהרחבה סקלריתפעולות בין אברי מערכיםעבודה עם מספרים מרוכבים