Presentation is loading. Please wait.

Presentation is loading. Please wait.

MATLAB MATRIX LABORATORY מהו MATLAB ? MATLAB הינה חבילת תוכנה המאפשרת סביבת עבודה לביצוע המטלות הבאות : חישובים נומריים חישובים סימבוליים גרפיקה מתקדמת.

Similar presentations


Presentation on theme: "MATLAB MATRIX LABORATORY מהו MATLAB ? MATLAB הינה חבילת תוכנה המאפשרת סביבת עבודה לביצוע המטלות הבאות : חישובים נומריים חישובים סימבוליים גרפיקה מתקדמת."— Presentation transcript:

1

2 MATLAB MATRIX LABORATORY מהו MATLAB ? MATLAB הינה חבילת תוכנה המאפשרת סביבת עבודה לביצוע המטלות הבאות : חישובים נומריים חישובים סימבוליים גרפיקה מתקדמת דו- ותלת מממדית ביצוע סימולציות ברמת שורות קוד או ברמת בלוקים

3 2 1.1 מאפיינים עיקריים מטריצה בעלת איבר אחדאלמנט החישוב היסודי: מטריצה בעלת איבר אחד - ללא צורך בהגדרת ממדים, מאפשר עבודה מהירה במערכים. תוכנת יסוד ו”ארגזי כלים” TOOLBOXES הכוללים מגוון רחב של פונקציות ייחודיות לשטחים המדעיים השונים. פניה ישירה לכל פונקציה מתוכנת היסוד ומארגזי כלים אחרים. צורות שימוש: 1. אינטראקטיבי 2. Filename.m) M-FILES) אינטרפרטר ( ניתן לגם להדר לשפות C ו ++C ) שילוב קטעי תוכנה בשפות עיליות MEX-FILES.

4 3 1.2 כלי העבודה MATLAB TOOLBOXES ( רשימה חלקית ) Signal Processing Partial Differential Equations Robust control Image Processing Neural networks Fuzzy Logic Optimization SIMULINK (Block Oriented Simulator) Financial

5 4 1.5 חישובים אלמנטריים סביבת העבודה מאפשרת חישובים נומריים ישירים התוצאה מתקבלת מיד עם הקשת ENTER : » 12.3*(11.34+9.88)/3.3 ans = 79.0927 » 1+sin(pi/6)/(2+cos(pi/12)) ans = 1.1686 » sqrt(1+tan(pi/12)/(1+sin(pi/2))) ans = 1.0649

6 5 1.5 חישובים אלמנטריים ( המשך ) שימו לב: הסימנים המקובלים לפעולות חשבוניות: + - * / הסימן לחזקה: ^ קיימות כל הפונקציות הרגילות והמוכרות: sin,cos,tan,log וכו’. קיים “ארסנל” מפותח ביותר של פונקציות המשתנה: pi המשתנה הקומפלקסי : I הזויות ברדיאנים ובסיס הלוגריתמים הוא e (אלא אם צוין אחרת, לדוגמה : ( log10(x )

7 6 1.6 דוגמאות לחישובים אלמנטריים % - indicates comments %-- Matlab works in radians »(sin(23.5))^2 % without ‘’; ‘’ results are displaying % immediately ans = 0.9962 » (sin(23.5))^2; % with ’’ ;’’ results are not displaying

8 7 1.6 דוגמאות לחישובים אלמנטריים ( המשך ) % - trigonometric functions %------------------------------- » a=15.3; » b=12; » teta1=tan(b/a)^-1 teta1 = 1.0022 » teta2=1/tan(b/a) teta2 = 1.0022

9 8 1.6 חישובים אלמנטריים ( המשך ) עם הגדרת משתנים לדוגמה : פתרון משוואה ריבועית עם שורשים קומפלקסיים » a=3; » b=8; » c=13; » solution1=(-b+sqrt(b^2-4*a*c))/2*a solution1 = -12.0000 +14.3875i » solution2=(-b-sqrt(b^2-4*a*c))/2*a solution2 = -12.0000 -14.3875i

10 9 1.7 פורמטים של תצוגת מספרים Integer מוצג תמיד כ Integer Real מוצג תמיד ב 4 ספרות לאחר הנקודה. אם המספר המוצג מחוץ לתחום התוצאה תוצג תמיד בScientific Notation ניתן לעקוף חוקים אלו ע”י שימוש בפקודת format או בסעיף preferences בתפריט File

11 10 1.7 פורמטים של תצוגת מספרים ( המשך ) format short format long format short e format long e format short g format long g format hex format bank format + format rat 3.1416 3.14159265358979 (15 ספרות) 3.1416*10^+000 (5 digits +exp) 3.141592653589793*10^+000 (15 d +exp) best of format short or format short e best of format long or format long e 234.bbc -hexadecimal, floating point 3.14 -two decimal digits positive,negative or zero 335/113 rational approximation

12 11 1.7 פורמטים ( המשך ) דוגמאות »format short % 5 digits 355/113 ans = 3.1416 » format long % 15 digits » 355/113 ans = 3.14159292035398 »format short e % 5 digits+exponent » 355/113 ans = 3.1416e+000

13 12 1.8 שליטה בסביבת העבודה פקודות עזר בקשת עזרה - help –שלוש פקודות לקבלת סיוע מהתוכנה help command עזרה לפקודה או פונקציה נותן את שורות הפתיחה של כל פקודה או פונקציה תנאי לשימוש : ידיעת שם הפונקציה lookfor key word or command or function מאפשר קבלת Pointer לפונקציות המכילות את מילת המפתח לדוגמה: >> LOOKFOR HEXADECIMAL DEC2HEX Convert decimal integer to hexadecimal string. HEX2DEC Convert hexadecimal string to decimal integer. HEX2NUM Convert IEEE hexadecimal to double precision number.

14 13 1.8 שליטה בסביבת העבודה פקודות עזר ( המשך ) פקודת Helpdesk עזרה מלאה באמצעות Explorer טקסט מלא על תוכנת היסוד ועל כל ה Toolboxes. טקסט בשפת html ומראי מקום המרכבים באמצעות Hypertext פקודת עזר לדפדוף בתוצאת ה help more on more off

15 14 1.8 שליטה בסביבת העבודה הצגת תוכן הפונקציות הפונקציות שבשימוש מתחלקות לשנים: לא ניתןBuilt-in Functions אותם לא ניתן להציג על המסך. ניתןMatlab Files -M-files אותם ניתן להציג ברמת Source code. לדוגמה:הצג את שורות הקוד של הפונקציה min (Minimum) » type min min is a built-in function. לדוגמה: הצג שורות קוד של הפונקציה הנותנת וקטור שאבריו מחולקים ליניארית באופן קצוב : Linear Spacing ראה בשקף הבא...

16 15 1.8 הצגת תוכן הפונקציות ב MATLAB ( המשך דוגמה ) » type linspace function y = linspace(d1, d2, n) %LINSPACE Linearly spaced vector. % LINSPACE(x1, x2) generates a row vector of 100 linearly % equally spaced points between x1 and x2. % % LINSPACE(x1, x2, N) generates N points between x1 and x2. % % See also LOGSPACE, :. % Copyright (c) 1984-98 by The MathWorks, Inc. % $Revision: 5.8 $ $Date: 1998/05/11 15:58:47 $ if nargin == 2 n = 100; end y = [d1+(0:n-2)*(d2-d1)/(n-1) d2]; NARGIN - number of function input arguments.

17 16 1.8 שליטה בסביבת העבודה פקודות עזר מיוחדות טיפול בפקודות ארוכות: אם הפקודה ארוכה במיוחד, ניתן להקיש ‘…’ (שלוש נקודות) ולהמשיך את הפקודה בשורה הבאה. לדוגמה: » y=sqrt(sin^(x)+log10(cos^(y))+exp(… sin^(x)+log10(cos^(y)) הפסקת ריצה של תוכנית הפועלת בסביבת העבודה ctrl c

18 17 1.8 שליטה בסביבת העבודה פקודות עזר ( המשך 1) בדיקת שמות המשתנים הקיימים באופן שוטף בסביבת העבודה - פקודת who » a=8; » b=9; » c=1+i; » d=a+b+c; » e=[1 2 3 4 5 6 7] » who Your variables are: a b c d e

19 18 1.8 שליטה בסביבת העבודה פקודות עזר ( המשך 2) קבלת אינפורמציה מפורטת על המשתנים הקיימים באופן שוטף בסביבת העבודה פקודת whos >> whos Name Size Bytes Class a 1x1 8 double array b 1x1 8 double array c 1x1 16 double array (complex) d 1x1 16 double array (complex) e 1x7 56 double array Grand total is 11 elements using 104 bytes כל משתנה מוגדר כמערך (מטריצה) בעל דיוק כפול ולכן מוגדר כ double array Class.

20 19 1.8 שליטה בסביבת העבודה פקודות עזר ( המשך 3) 1. פקודת kovets save לשמירת כל המשתנים שבסביבת העבודה בקובץ. » a=8; » b=1+i; » c=3; » save kovets 2. פקודת save kovets variable1 variable2 לשמירת חלק מהמשתנים ב קובץ » a=9; » b=3; » save zz a

21 20 1.8 שליטה בסביבת העבודה פקודות עזר ( המשך 5) פקודת clear “ניקוי” כללי של כל המשתנים מסביבת העבודה. פקודת clear variable_names “ניקוי” משתנים מסוימים בלבד » clear a b » whos Name Size Bytes Class c 1x1 16 double array (complex) d 1x1 16 double array (complex) e 1x7 56 double array Grand total is 9 elements using 88 bytes » clear » whos %for showing of clear effect »

22 21 1.8 שליטה בסביבת העבודה פקודות עזר ( המשך 6) מיחזור משתנים/קבצים השמורים בדיסק/ ט פקודת load kovets מחזירה את כל המשתנים שאוחסנו ב kovets לסביבת העבודה של MATLAB. עבודה בתוך סביבת העבודה של MATLAB פקודת “!” » !dir Volume in drive C is MS-DOS_6 Volume Serial Number is 24E1-4ED3 Directory of C:\ DOS 01/07/98 9:54 DOS TEMP 01/07/98 10:05 TEMP SBCD 01/07/98 10:05 SBCD COMMAND DOS 54,645 31/05/94 6:22 COMMAND.DOS

23 22 1.8 שליטה בסביבת העבודה פקודות עזר ( המשך 7) שמירת יומן הדו - שיח בסביבת העבודה פקודת הפעלה: diary diary_name פקודת סיום: diary off דוגמה: » diary zevel1 » a=8; » b=9; » c=10; » solotion1=(-b+sqrt(b^2-4*a*c))/2*a solotion1 = -36.0000 +61.8385i » solotion2=(-b-sqrt(b^2-4*a*c))/2*a solotion2 = -36.0000 -61.8385i » diary off » diary zevel1 » a=8; » b=9; » c=10; » solotion1=(- b+sqrt(b^2-4*a*c))/2*a solotion1 = -36.0000 +61.8385i » solotion2=(-b- sqrt(b^2-4*a*c))/2*a solotion2 = -36.0000 -61.8385i » diary off » diary zevel1 » a=8; » b=9; » c=10; » solotion1=(- b+sqrt(b^2-4*a*c))/2*a solotion1 = -36.0000 +61.8385i » solotion2=(-b- sqrt(b^2-4*a*c))/2*a solotion2 = -36.0000 -61.8385i » diary off

24 23 2.1 הצגת וקטורי נתונים וקטורים מיוצגים כמערך נתונים בתוך סוגריים מרובעים. ניתן לבנות וקטור גם באמצעות הקשת מרכיביו ורווחים בין המרכיבים » a=[1 2 3 4 5 6 7 8 9] a = 1 2 3 4 5 6 7 8 9 » whos Name Size Bytes Class a 1x9 72 double array Grand total is 9 elements using 72 bytes מתקבל וקטור שורה שיש בו 9 עמודות (אברים)

25 24 2.2 אופני ציון למרכיבי הווקטור פניה לאיברים מסוימים במערך פניה לאיבר מסוים בוקטור יכול להתבצע בשתי צורות: » a(4) ans = 4 » a(1,4) ans = 4 פניה למספר אברים עוקבים בוקטור: » a(1:3) ans = 1 2 3 » a(1,1:3) ans = 1 2 3

26 25 2.2 אופני ציון למרכיבי הוקטור וקטור אינדקסים ציונים שונים למרכיבי הוקטור ככלל ניתן לבנות כל וקטור באמצעות הערך ההתחלתי, גודל האינטרוול והערך הסופי. לדוגמה: » b=2:3:11 b = 2 5 8 11 באותו האופן ניתן להשתמש בוקטור כוקטור אינדקסים לוקטור אחר, לדוגמה: » a=[1.19 2.21 3.36 -4.42 5.59 6.63 7.72 8.85 9.99 10.103 11.2111] » a(2:3:11) ans = 2.2100 5.5900 8.8500 11.2111

27 26 2.2 אופני ציון למרכיבי הוקטור מיעונים לאיברי הוקטור ( המשך ) מיעון עקיף - » a=[1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9 10.10 11. 11] a = Columns 1 through 7 1.1000 2.2000 3.3000 4.4000 5.5000 6.6000 7.7000 Columns 8 through 11 8.8000 9.9000 10.1000 11.2000 » b=2:3:11; » a(b) ans = 2.2000 5.5000 8.8000 11.2000

28 27 2.2 אופני ציון למרכיבי הוקטור פניה לאיברי הוקטור ( המשך ) דוגמה למיעון הפוך » b=[11:-1:1] b = 11 10 9 8 7 6 5 4 3 2 1 » c=a(b) c = Columns 1 through 7 11.2000 10.1000 9.9000 8.8000 7.7000 6.6000 5.5000 Columns 8 through 11 4.4000 3.3000 2.2000 1.1000 מיעון “ש ר י ר ו ת י” - יצירת וקטור שמרכיביו נמצאים בכתובות מסוימות שבוקטור a

29 28 2.4 וקטורי שורה ווקטורי עמודה וקטורי שורה נכתבים מה- key board בתוך סוגריים מרובעות ומרווחים בין האברים. לוקטורי שורה יש את הפורמט הכללי: a(1,n) וקטורי עמודה נכתבים מה key board בתוך סוגריים מרובעות ו ; (semicolon) בין האברים. לוקטורי עמודה יש את הפורמט הכללי: a(n,1) דוגמאות בשקף הבא:

30 29 2.4 וקטורי שורה ווקטורי עמודה של מספרים ממשיים - דוגמאות » a=[1;2;3;4;5;6] a = 1 2 3 4 5 6 ניתן להפוך וקטור שורה לוקטור עמודה ולהפך באמצעות פקודת Transpose יa לדוגמה: » b=a' b = 1 2 3 4 5 6

31 30 2.5 מערכים מטריציוניים פעולות אריתמטיות במערכים מטריציוניים כפל (או חלוקת) וקטור (שורה או עמודה) בסקלאר v=s*[v1 v2 v3 v4 …vn]=[s*v1 s*v2 s*v3 s*v4 ….s*vn] כפל מטריצה בסקלאר - אותו העיקרון כפל וקטור בוקטור (איבר באיבר): »v1.*v2=[v11*v21 v12*v22 v13*v23… v1n*v2n] כפל מטריצה במטריצה (איבר באיבר) כנ”ל. ------------------------------------------------------------------ כפל וקטורי » c[1,1]=a[1,n]*b[n,1] » c[n,n]=a[n,1]*b[1,n]

32 31 2.5 מערכים מטריציוניים פעולות אריתמטיות במערכים מטריציוניים - דוגמאות כפל מטריציוני - נגדיר שתי מטריצות » m1 = 1 2 3 4 5 6 7 8 9 » m2 = 1 2 3 4 4 5 » m3=m1*m2 m3 = 19 25 43 58 67 91 m1=[3X3] m2=[3X2] m3=m1*m2=[3X2]

33 32 2.5 מערכים מטרציוניים פעולות אריתמטיות במערכים מטריציוניים - דוגמאות כפל וקטורי: v1=[1X4] v2=[1X4] v1*v2 ??? Error using ==> * Inner matrix dimensions must agree. V1=[1X4] v2’=[4X1] » v1* v2' ans = 60 אין התאמה במימדים הפנימיים של הווקטורים יש לשים לב להתאמה בין הממדים הפנימיים

34 33 2.5 מערכים מטריציוניים פעולות אריתמטיות במערכים מטריציוניים - דוגמאות חלוקת סקלאר בווקטור - טעות נפוצה » 1/v1 ??? Error using ==> / Matrix dimensions must agree. » ones(1,4)./v1 ans = 1.0000 0.5000 0.3333 0.2500 » 1./v1 אפשרות אחרת לתיקון ans = 1.0000 0.5000 0.3333 0.2500 לעומת זאת - חלוקת וקטור בסקלאר » v1/8 ans = 0.1250 0.2500 0.3750 0.5000 הדרך הנכונה

35 34 2.5 מערכים מטרציוניים פעולות אריתמטיות במערכים מטריציוניים - דוגמאות » v1=[1 2 3 4] v1 = 1 2 3 4 » v2=[4 5 6] v2 = 4 5 6 » v1./v2 ??? Error using ==>./ Matrix dimensions must agree. » v2=[v2 7] v2 = 4 5 6 7 » v1./v2 ans = 0.2500 0.4000 0.5000 0.5714 חלוקת וקטור בוקטור ( איבר באיבר ) הוכנסה טעות במתכוון - גדלי הוקטורים V1 ו -V2 אינם זהים הודעת השגיאה פעולת תיקון

36 35 2.5 מערכים מטריציוניים פעולות אריתמטיות במערכים מטריציוניים כפל מטריציוני - כמקובל. גודל המטריצה המתקבלת הוא כדלקמן: c[m,l]=a[m,n]*b[k,l] התנאי לקיום הכפל המטריציוני : n=k חלוקה מטריציונית A/B A\B התנאי לחלוקה מטריציונית מטריצות ריבועיות בעלי ממדים זהים

37 36 2.5 מערכים מטרציוניים פעולות אריתמטיות במערכים מטריציוניים. המשך 1 ודוגמאות המשמעות של חלוקה מטריציונית: B/A=B*inv (A) A\B=inv(A)*B נראה להלן מספר דוגמאות: » vector=[1 2 3 4 5 6]; » scalar=2.2; » vector*scalar ans = 2.2000 4.4000 6.6000 8.8000 11.0000 13.2000 » scalar*vector ans = 2.2000 4.4000 6.6000 8.8000 11.0000 13.2000

38 37 4. גרפיקה ב MATLAB הערת פתיחה: MATLAB היא אחת התוכנות עם הגרפיקה המפותחת ביותר ואופני תצוגת התוצאות המרשימות ביותר מבין התוכנות המתמטיות.

39 38 4.1 גרפיקה ב MATLAB גרפים דו - ממדיים הפקודה הפשוטה ליצירת גרף דו-ממדי (גרף XY): Plot(x,y) כאשר X ו Y וקטורים חד ממדיים בעלי ממדים זהים. דוגמה פשוטה: x=[0:0.01:1]; » y=sin(2*pi*x); » plot(x,y)

40 39 4.1.1 גרפיקה ב MATLAB פקודה לתוספת רשת grid >> grid

41 40 4.1.2 גרפיקה ב MATLAB תוספת כיתוב לציר X xlabel(‘text’) לציר Y ylable(‘text’) כותרת לגרף title(‘text’) לדוגמה בשקף הבא: » title('Amplitude Vs. time'); ylabel('amplitude');xlabel('time');

42 41 4.1.2 גרפיקה ב MATLAB דוגמה לכיתוב :

43 42 4.1.3 גרפיקה ב MATLAB קביעת צבע הגרף והרכבו : plot(x,y,’linetype color’) דוגמה: plot(x,y,’+ r’) שרטט גרף XY בסוג קו “+” ובצבע אדום לקבלת אינפורמציה על סוגי הצבעים וסוגי הקוים השתמשו ב HELP PLOT

44 43 4.1.4 גרפיקה ב MATLAB מספר גרפים דו - ממדיים על מערכת צירים אחת : plot(x1,y1,x2,y2) –כאשר X1 ו- Y1 לגרף הראשון –X2 ו Y2 הם זוג הקואורדינטות לגרף השני –דוגמה: » x2=x1; » y2=cos(2*pi*x); » plot(x1,y1,x2,y2)

45 44 4.1.5 גרפיקה ב MATLAB הערות כלליות למערכות צירים רב - גרפיות : גדלי הוקטורים עבור כל הגרפים על מערכת הצירים חייבים להיות זהים אם לא קובעים מראש את צבעי הגרפים תקבע אותם התוכנה לפי סדר ידוע. בכל מקרה, ללא ציון מפורש ישורטטו קוים מלאים. כל המציינים שהוסברו בשקפים הקודמים “שרירים וקיימים” גם למערכת בעלת מספר גרפים


Download ppt "MATLAB MATRIX LABORATORY מהו MATLAB ? MATLAB הינה חבילת תוכנה המאפשרת סביבת עבודה לביצוע המטלות הבאות : חישובים נומריים חישובים סימבוליים גרפיקה מתקדמת."

Similar presentations


Ads by Google