Presentation is loading. Please wait.

Presentation is loading. Please wait.

אנליזה נומרית 1 1 תרגול מספר 1 עבודה ב- MATLAB. אנליזה נומרית 1 2 העבודה הבסיסית ב Matlab - Matlab היא סביבה אינטראקטיבית לחישוב מדעי והנדסי, סימולציה,

Similar presentations


Presentation on theme: "אנליזה נומרית 1 1 תרגול מספר 1 עבודה ב- MATLAB. אנליזה נומרית 1 2 העבודה הבסיסית ב Matlab - Matlab היא סביבה אינטראקטיבית לחישוב מדעי והנדסי, סימולציה,"— Presentation transcript:

1 אנליזה נומרית 1 1 תרגול מספר 1 עבודה ב- MATLAB

2 אנליזה נומרית 1 2 העבודה הבסיסית ב Matlab - Matlab היא סביבה אינטראקטיבית לחישוב מדעי והנדסי, סימולציה, ויזואליזציה ותכנון אלגוריתמים. איך למצוא מידע נוסף: פקודות help, helpwin, helpdesk, demo מתוך ה -Matlab אם לדוגמא ברצונכם לקבל עזרה על הפקודה mean >> Help mean באינטרנט: http://www.mathworks.com/support/

3 אנליזה נומרית 1 3 עזרה ב- matlab » Help eig EIG Eigenvalues and eigenvectors. E = EIG(X) is a vector containing the eigenvalues of a square matrix X. [V,D] = EIG(X) produces a diagonal matrix D of eigenvalues and a full matrix V whose columns are the corresponding eigenvectors so that X*V = V*D. » lookfor differentiation NUDERST Selects the step size for numerical differentiation DIFF Alternative entry to the symbolic differentiation function. In unix: !ls or !mkdir כדי לקבל עזרה על פונקציה: help func_name כדי לחפש פונקציה ששמה לא ידוע lookfor keyword כדי לקבל כלי עזרה אינטראקטיבי helpwin/helpdesk איזה משתנים קיימים בשדה העבודה whos פקודות למ"ה : !command

4 אנליזה נומרית 1 4 מטריצות ב- Matlab. מטריצות הן מבנה הנתונים העיקרי כדי לבנות מטריצה פשוט כותבים: a=[0.2,7,11,5] - וקטור-שורה (אופרטור, שרשור לאורך שורה) x=5:2:11 - וקטור ]5,7,9,11[= x (אופרטור a:b:c ) m=[2.1;66;11;9] עמודה וקטור A=[3 4 5; 4 7 9; 2 6 7] - 3X3 מטריצה הרכבת מטריצה מתת מטריצותB=[a b;c d] A=B(3:5, 4:7) מטריצה-תת העתקת הוצאת עמודות מסוימות ממטריצהA=B(:,[1 3 2 4]) A=B ’ - (transpose) שחלוף מטריצה יצירת משתנה STRING : w= ‘ I am a string ’

5 אנליזה נומרית 1 5 הפקודה format מגדירה את הצגת המספרים >> format short (default) >> x=31.415926 x = 31.4159 >> format long >> x x = 31.41592600000000 >> format long e >> x x= 3.141592600000000e+001 >> format short e >> x x = 3.1416e+001

6 אנליזה נומרית 1 6 פעולות עם מטריצות יצירת מטריצות ייחודיות: (zeros(3,5), rand(5,1) ones(6,2),eye (6,2 פקודות על מטריצות: +,-,*(כפל מטריצי),/(חילוק מטריצי),^ a^2 או a+b או A*x-y פקודות על אברים מתאימים במטריצות element wise : a./b או a.^2 או a.*b הפעלת פונקציות:(sqrt(x), sin(y), exp(a+ib), result=isempty(a [v,d] = eig(x); S=sum(A) % S is a row vector of the columns sums of A S=sum(sum(A)) % sum of matrix A [xsize ysize]=size(M)

7 אנליזה נומרית 1 7 דוגמא לפתרון מערכת משוואות לינאריות The system of equations: 3*x-5*y=-44 2*x+y=27 In Matlab: >> A=[3,-5 ; 2,1]; >> b=[-44 ; 27]; >> s=inv(A)*b (or s=A\b) s = 7.0000 13.0000 >> x=s(1); >> y=s(2);

8 אנליזה נומרית 1 8 פונקצית find ותנאים לוגיים תנאים לוגיים ==,, (not equal)~=,(not)~ find(a==3) מחזירה אינדקסים ב a לאיברים שמקיימים את התנאי הלוגי. הפונקציה מחזירה אינדקס יחיד במטריצה (שרץ לאורך העמודות) או זוג אינדקסים (x,y) (תלוי במספר פרמטרי החזרה) a=[1 2 3;4 5 6;7 8 9] a = 1 2 3 4 5 6 7 8 9 » z=find(a>7) z = 6 9 » [i,k]=find(a>7) i = 3 k = 2 3

9 אנליזה נומרית 1 9 Visualization and Graphics plot(x,y), plot(x,sin(x)) %plot a function figure, figure(k)%open a new figure hold on, hold off subplot(3,1,2) %several plots in figure axis([xmin xmax ymin ymax]) title( ‘ figure title ’ ) %add title to figure

10 אנליזה נומרית 1 10 דוגמא לגרף פשוט x=0:0.01:5; y=sin(x).*cos(50*x); plot(x,y) title( ‘ Example plot ’ ) xlabel( ‘ x ’ ) ylabel( ‘ y=sin(x).*cos(50*x) ’ )

11 אנליזה נומרית 1 11 בקרת זרימה פקודת if : if (A > B), statement; elseif (A< B), statement; elseif ~A, statement; else, statement; end if i==1, statement; end if res(n,2) ~= 0, statement; else, statement; end

12 אנליזה נומרית 1 12 פקודת for לולאה פשוטה: for n=1:1:4, subplot(2,2,n) plot(a(:,1),a(:,n+1)) title(num2str(n)) end

13 אנליזה נומרית 1 13 פקודות while a = 4; fa=sin(a); b = 2; fb = sin(b); while a - b > 5 * eps, x = (a+b)/2; fx = sin(x); if sign(fx) == sign(fa), a = x; fa=fx; break; else b = x; fb = fx; end

14 אנליזה נומרית 1 14 פונקציות ב- Matlab function [c,d,e]= pyt(a,b) % returns the hyotensus (yeter) in a right angle % triangle according to Pythagoras theorem % cis the hyotensus % d and e are the two sharp angles c=sqrt(a.^2+b.^2); d=atan(b/a); e=pi/2-d; נכתוב פונקציה pyt.m

15 אנליזה נומרית 1 15 M-files בד”כ לא נוח לעבוד בצורה אינטראקטיבית בלבד מאבדים את כל מה שנעשה בין session ל - session ניתן לעבוד בעורך (editor) המועדף או בעורך של matlab ע”י edit. כדי להפעיל my_m_file.m scriptפשוט כותבים בMatlab את השם my_m_file וזה מריץ את הפקודות סדרתית בסביבה הגלובלית. פקודות שימושיות: load Mydata.dat - טוענת את תוכן הקובץ Mydata.dat למשתנה Mydata what מחזירה את השמות של קבצי matlab בcurrent directory s=sprintf( ‘ Mydata%d ’,I) - זהה לאותה פקודה ב- C diary( ‘ diary_file ’ ), diary off מקליט כל העבודה לקובץ.

16 אנליזה נומרית 1 16 שמירת workspace הפקודה whos מציגה את המשתנים שבזיכרון ואת גודלם. הפקודה save file_name שומרת משתנים אלה בקובץ file_name.mat וניתן לשחזר משתנים אלה לתוך הזיכרון ע"י load file_name ניתן גם להגדיר את הפורמט, לדוגמא: >> save Data.asc – ascii A >> save Data.asc – ascii – double A ניתן להיעזר בפקודות save ו- load לצורך העברת נתונים בין MATLAB לתוכנות אחרות. לדוגמא יצרתם קובץ של נתונים ב- C וברצונכם להציגו גרפית ב- MATLAB. הפקודה clear a מוחקת את משתנה a, הפקודה clear מוחקת את כל המשתנים שבזיכרון.


Download ppt "אנליזה נומרית 1 1 תרגול מספר 1 עבודה ב- MATLAB. אנליזה נומרית 1 2 העבודה הבסיסית ב Matlab - Matlab היא סביבה אינטראקטיבית לחישוב מדעי והנדסי, סימולציה,"

Similar presentations


Ads by Google