math tools - כלים מתמטיים

31
תתתת תתתתתת תתתתתMatLab תתתתת תתתתתתת תתתתתת תתתתתתתתת

Upload: michael

Post on 12-Nov-2014

432 views

Category:

Documents


7 download

DESCRIPTION

מצגות מקורס מבוא לתכנות בעזרת MATLAB במכללת אורט בראודה

TRANSCRIPT

Page 1: Math Tools - כלים מתמטיים

מבוא לתכנות בעזרתMatLab

פתרון משוואות ומציאת אינטגרלים

Page 2: Math Tools - כלים מתמטיים

0.2/26

פתרון משוואות, מציאת אינטגרלים

,פתרון משוואות לא ליניאריות,פתרון מערכת משוואות לא ליניאריות.אינטגראציה

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 3: Math Tools - כלים מתמטיים

0.3/26

,פתרון משוואות לא ליניאריותפתרון מערכת משוואות לא ליניאריות,.אינטגראציה

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

פתרון משוואות, מציאת אינטגרלים

Page 4: Math Tools - כלים מתמטיים

0.4/26 פתרון משוואות לא ליניאריות של פולינום0 – מציאת roots פונקציה

x=roots([ ווקטור של מקדמי([הפולינום

>>x=roots([1 0 -4])

x =

2.0000

-2.0000

>>

y=x2-4

:1דוגמא

: MatLabב-

ווקטור המקדמים של הפולינום

Page 5: Math Tools - כלים מתמטיים

0.5/26

<< k =

1 2 -21 18

>> x=roots(k)

x =

-6.0000

3.0000

1.0000

rootsהמשך -

y=x3+2x2-21x+18:2דוגמא

:MatLabב-

ווקטור המקדמים של הפולינום

Page 6: Math Tools - כלים מתמטיים

0.6/26

<< k=[-1 0 3 4.5 -5 0 1.5];

>> x=roots(k)

x =

2.0229

-1.3726 + 1.1308i

-1.3726 - 1.1308i

0.6010 + 0.3573i

0.6010 - 0.3573i

-0.4796

דוגמא 3

rootsהמשך -

בגרף לא תמיד ניתן להציג את הנקודות הדרושות

:MatLabב-ווקטור המקדמים

של הפולינום

Page 7: Math Tools - כלים מתמטיים

0.7/26 fzero של פונקציה בסביבת 0 - מנסה למצוא x0

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

x1=fzero(‘ נוסחה של(x0,’פונקציה

>>x1=fzero('x.^2-4',1.5)

x1 =

2

>>x2=fzero('x.^2-4',2.3)

x2 =

-2

דוגמא 4

בסביבת x0=1.5

בסביבת x0=2.3

y=x2-4

Page 8: Math Tools - כלים מתמטיים

0.8/26

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

y=cos(x): 5דוגמא

>>x=0:pi/16:2*pi;

>> y=cos(x);

>> plot(x,y)

>> grid

של 0על הגרף ניתן לראות שנקודות ה- ו- x=1.5הפונקציה נמצאות בסביבת

x=4.5

Page 9: Math Tools - כלים מתמטיים

0.9/26 5דוגמא

)המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

>> xx=fzero('cos(x)',1.5)

xx =

1.5708

>>xx=fzero('cos(x)',4.5)

xx =

4.7124

למציאת השורשים בסביבת הנקודות שראינו על fzeroנעזר ב-הגרף

Page 10: Math Tools - כלים מתמטיים

0.10/26 6דוגמא

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

]0.8 : 0.4[ניקח תחום

xx=fzero('exp(x)-2‘, 0.4, 0.8)xx = 0.6931

לפעמים לא קל למצוא על הגרף את אשר בסביבתה צריך לחפש x0הנקודה

את שורשי הפונקציה -Xאבל תמיד אפשר לראות את תחום ה-

ים בהם הפונקציה משנה את סימנה – בתחום זה נמצא השורש שלה.

y=ex-2

באופן כללי, אם פונקציה משנה :]a, b[את סימנה בתחום

xx=fzero(‘נוסחת הפונקציה',a, b) x=0:0.1:5;

y=exp(x)-2; plot(x,y);grid;

Page 11: Math Tools - כלים מתמטיים

0.11/26 7דוגמא

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

y=xcos(5pix/8)+tan(pix/6);

function a=f1(x);

a=x.*cos(5*pi*x/8)+tan(pi*x/6);

במקרה של פונקציה מורכבת רושמים אותה

, ז"א, יוצרים m-fileב- חדשהMatLabפונקצית

:Editorב-

: 0.1[-בתחום 2/3π[

Page 12: Math Tools - כלים מתמטיים

0.12/26 7דוגמא

)המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

y=x.*cos(5*pi*x/8)+tan(pi*x/6);

>> xx=fzero(@f1,1,1.5)xx = 1.1238

>> xx=fzero(@f1,1.8,2.1)xx = 1.9130

>> xx=fzero(@f1,0,0.5)xx = 0

]0.5 : 0[בתחום

]1.5 : 1[בתחום

]2.1 : 1.8[בתחום

Command Windowמפעילים ב-(או בתכנית ראשית)

: 0.1[-בתחום 2/3π[

Page 13: Math Tools - כלים מתמטיים

0.13/26 דוגמא 8

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

y=sin(4x) ]π/3 : π/3[-בתחום

x=-pi/3:pi/36:pi/3;y=sin(4*x);plot(x,y); grid;legend('f=sin(4x)');

Page 14: Math Tools - כלים מתמטיים

0.14/26 )המשך( – פונקציה 8דוגמא fsolve

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

>> xx1=fsolve('sin(4*x)',[-1 0 1])Optimization terminated: first-order optimality is less than options.TolFun.xx1 = -0.7854 0 0.7854

X=fsolve(‘נוסחת פונקציה’,x0);

X0 של נקודות אשר בסביבתן ווקטור יכול להיות של פונקציה.0מחפשים

0ז"א, אפשר בפקודה אחת למצוא יותר מנקודת אחת!

>> xx1=fsolve('sin(4*x)‘,[-1 0 1],optimset('Display','off'))xx1 = -0.7854 0 0.7854

אפשר להסתיר את הודעות

המערכת

Page 15: Math Tools - כלים מתמטיים

0.15/26

,פתרון משוואות לא ליניאריותפתרון מערכת משוואות לא ליניאריות,.אינטגראציה

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

פתרון משוואות, מציאת אינטגרלים

Page 16: Math Tools - כלים מתמטיים

0.16/26 דוגמא 9

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

>> x=-4:0.1:4;>> y=1-3*x;>> y1=-sqrt(16-x.^2);>> y2=sqrt(16-x.^2);>> plot(x,y,x,y1,x,y2);grid;>>axis([-4 4 -4 4]);

מציאת נקודות x2+y2=16חיותך

3x+y-1=0

Page 17: Math Tools - כלים מתמטיים

0.17/26 9דוגמא )המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

כדי להכין קובץ-פונקציה למערכת המשוואות, נשנה אותה למערכת

הבאה:

function f=fun2(x)

f(1)=x(1)^2+x(2)^2-16;

f(2)=3*x(1)+x(2)-1;

יוצרים MatLab של Editorב-את הפונקציה:

x2+y2=163x+y-1=0

Page 18: Math Tools - כלים מתמטיים

0.18/26 9דוגמא )המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

>> point1=fsolve(@fun2,[-1 4],optimset('Display','off'))point = -0.9610 3.8829

משוער - Y0 משוער ו-X0 מכיל ערכים של ]4 1[-הפעם ווקטור שבסביבתה מחפשים את נקודת החיתוך )1,4(-הנקודה

שיעורים של נקודת החיתוך2 הם point1ושני ערכים של

, -4(נחפש את נקודת החיתוך השנייה בסביבת נקודה אחרת: 1(

>>point2=fsolve(@fun2,[4 -1],optimset('Display','off'))point2 = 1.5610 -3.6829

x2+y2=163x+y-1=0

Page 19: Math Tools - כלים מתמטיים

0.19/26 דוגמא 10

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

>> x=-4:0.1:4;>> y=exp(x)-2;>> y1=-sqrt(16-x.^2);>> y2=sqrt(16-x.^2);>> plot(x,y,x,y1,x,y2);grid;>>axis([-4 4 -4 4]);

מציאת נקודות x2+y2=16חיותך

y=ex-2

Page 20: Math Tools - כלים מתמטיים

0.20/26 10דוגמא )המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

>> p=fsolve(@f4,[2 3.5], optimset('Display','off')) p =  1.7244 3.6092

function f= f4(x);

f(1)=exp(x(1))-x(2)-2;

f(2)=x(1).^2+x(2).^2-16;

>> p=fsolve(@f4, [-3.5 -2], optimset('Display','off')) p =  -3.4817 -1.9692

x2+y2=16y=ex-2

:Editorב-

או Command Windowב-בתכנית ראשית

Page 21: Math Tools - כלים מתמטיים

0.21/26

,פתרון משוואות לא ליניאריות,פתרון מערכת משוואות לא ליניאריותאינטגראציה.

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

פתרון משוואות, מציאת אינטגרלים

Page 22: Math Tools - כלים מתמטיים

0.22/26

אינטגרל מסוים

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

אינטגרל מסוים הוא שטח תחת העקומה

Page 23: Math Tools - כלים מתמטיים

0.23/26 חישוב אינטגרל בשיטת סכומי רימן

rsums(‘נוסחת פונקציה’, a, b)

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

הפונקציה מחשבת אינטגרל של f(x) בשיטת סכומי רימן בתחום בין

a-ל b

ומשרטט את השטח

Page 24: Math Tools - כלים מתמטיים

0.24/26 סכומי רימן - דוגמא 11

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

>>rsums(‘x^2’,0,1)

Page 25: Math Tools - כלים מתמטיים

0.25/26

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

סכומי רימן - דוגמא 12

>> rsums('exp(x)-2',0,1)

Page 26: Math Tools - כלים מתמטיים

0.26/26 חישוב אינטגרל בשיטת סכומי 13טרפז דוגמא

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

2sin(x)dx

π

0

a = trapz(x,f) מחשבת אינטגרל של תוך X בתחום Fפונקציה

שימוש בשיטת סכומי הטרפז

>> X = 0:pi/100:pi;>>F = sin(X);

>>res = trapz(X,F)

res =

1.9998

Page 27: Math Tools - כלים מתמטיים

0.27/26 חישוב אינטגרל בשיטת סכומי 14סימפסון דוגמא

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

q = quad(fun, a, b) מחשבת אינטגרל של a בתחום בין funפונקציה

bלבין

>> format short g>> Q = quad('100*exp(3.1*t)',0,2)Q = 15863

מהירות הגידול של מיקרואורגניזמים מתוארת

כאשר tהוא מספר שעות בנוסחה

שעות2מצא כמות המיקרואורגניזמים בעוד

3.1te1v(t) 00

Page 28: Math Tools - כלים מתמטיים

0.28/26 15דוגמא

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

dxe x 2

1

2 בשיטות ניקח אינטגרל ונחשב אותושונות

שיטת רימן

rsums(‘exp(-x^2)’,1,2);

Page 29: Math Tools - כלים מתמטיים

0.29/26 15דוגמא )המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

dxe x 2

1

2

>> x=1:0.01:2;>> y=exp(-x.^2);>> trapz(x,y)

ans =

0.1353

טרפז שיטת

Page 30: Math Tools - כלים מתמטיים

0.30/26 15דוגמא )המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

dxe x 2

1

2

>> quad('exp(-x.^2)',1,2)

ans =

0.1353

שיטתסימפסון

Page 31: Math Tools - כלים מתמטיים

מבוא לתכנות בעזרת MatLab

פתרון משוואות, מציאת אינטגרלים

הסוף