آموزش نرم افزار matlab

46
ار ز ف رم ا ن ش ور م اMATLAB ر مه1385 م ي حّ ز ل ا ن م حّ ز ل ه ا ل ل م ا س% ب

Upload: langer

Post on 21-Jan-2016

102 views

Category:

Documents


0 download

DESCRIPTION

بسم الله الرّحمن الرّحيم. آموزش نرم افزار MATLAB. مهر 1385. MATLAB نرم افزاری برای انجام کارهای ریاضی، آماری، مهندسی و....می باشد. MATLAB=MATrix Laboratory (آزمایشگاه ماتریسی) در اوايل دهه 1970 توسط Cleve Moler , به وجود آمد. در اوايل دهه 1980 با زبان C بازنويسي شد. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: آموزش نرم افزار  MATLAB

MATLABآموزش نرم افزار

1385مهر

حيم حمن الر� بسم الله الر�

Page 2: آموزش نرم افزار  MATLAB

MATLAB ،نرم افزاری برای انجام کارهای ریاضی، آماری مهندسی و....می باشد.

MATLAB=MATrix Laboratory)آزمایشگاه ماتریسی( توسط 1970 در اوايل دهه Cleve Moler,.به وجود آمد با زبان 1980در اوايل دهه C.بازنويسي شد شركت 1984در Mathwork .تأسيس شد

Page 3: آموزش نرم افزار  MATLAB

MATLAB در نقش یک ماشین حساب

ساده ترین کارهایی که باMATLAB می توان انجام داد همان اعمالی است که یک

ماشین حساب معمولی انجام می دهد. جمع، تفریق ضرب و تقسیم

Page 4: آموزش نرم افزار  MATLAB

MATLAB در نقش یک ماشین حساب )ادامه(

بعد از اجرای نرم افزارچندwindow پنجره( ظاهر می شود. یکی از(

نام دارد. command windowاین پنجره ها نوشته و MATLABدر این محیط دستورات

اجرا می شوند.

Page 5: آموزش نرم افزار  MATLAB
Page 6: آموزش نرم افزار  MATLAB

انجام کارهای ساده محاسباتی

Page 7: آموزش نرم افزار  MATLAB

آشنایی با بعضی قابلیت های MATLAB

تعریف و استفاده از متغیرهامحاسبات ماتریسی نوشتنM-file( Script)نویسی دستورات حلقه و شرطدستورات ورودی-خروجیساخت و احضار توابع رسم نمودار

Page 8: آموزش نرم افزار  MATLAB

استفاده از متغیرها

با نوشتن دستورx=23 متغیری به نام x در حافظه ایجاد در آن ریخته می شود.23می شود و مقدار

اگر دستور به صورتx=23 نوشته شود MATLAB مقدار ;x=23آن را مجددا نمایش می دهد و اگر به صورت

آن مقدار را نشان نمی دهد.MATLABنوشته شود درMATLAB.نیاز به تعریف متغیر وجود ندارد همه متغیرها از نوعdouble( 8.فرض می شود )بایت MATLAB( زبانی حساس به حالت حروف Case

sensitive .است )

Page 9: آموزش نرم افزار  MATLAB

با استفاده از دستورwhos می توان فهمید چه متغیرهایی تاکنون تعریف شده

است. با استفاده از دستورclear می توان یک

متغیر را از حافظه پاک کرد. متغیرها تا زمانی کهclear نشوند در

حافظه باقی می مانند. دستورclc برای پاک کردن پنجره command به

کار می رود.

Page 10: آموزش نرم افزار  MATLAB
Page 11: آموزش نرم افزار  MATLAB

متغیرهای توکار

piعدد : Realmaxبزرگترین عدد حقیقی قابل نمایش :Realminکوچکترین عدد حقیقی قابل نمایش :

Infبی نهایت :

Page 12: آموزش نرم افزار  MATLAB

تعریف ماتریس و محاسبات ماتریسی

نحوه تعریف ماتریس

به صورت زیر عمل می MATLABبرای تعریف ماتریس فوق در کنیم:

AA=[3 -9 4; -5 3 6]

AA=[3 9 4]

635

493

Page 13: آموزش نرم افزار  MATLAB

محاسبات ماتریسی

و +جمع و تفریق با -با ابعاد ضرب دو ماتریس(m*n و n*p با : )* ترانهاده ماتریس: با'

نکته اگر بخواهیم عناصر دو ماتریس را نظیر به نظیر در استفاده می کنیم..* از *هم ضرب کنیم به جای

/..برای تقسیم نظیر به نظیر استفاده می شود براي به توان رساندن ماتريس به كار مي رود. مثال ^

A^2 ، A*A .را محاسبه می کند ^. به توان رسانی نظیر به نظیر : A.^B

Page 14: آموزش نرم افزار  MATLAB

مثال

A=[1 2 3;4 5 6;3 4 7];B=[2 3; 1 1;4 5];

تعریف کرده ایم.B به نام 3*2 و یک ماتریس A به نام 3*3در اینجا یک ماتریس C=A*B

3*2 را انجام می دهد و حاصل که ماتریسی B در Aاین دستور ضرب ماتریسی قرار می گیرد.Cاست در

D=B*A ضرب 3*3 را در ماتریس 3*2این دستور اشتباه است چون نمی توان یک ماتریس

کرد.E=A^2

است.E 3*3 را در خودش ضرب می کند. حاصل ماتریس A 3*3ماتریس F=B^2

را در 3*2 . اما نمی توان یک ماتریس B*B یعنی B^2خطا اعالم می شود. چون ضرب کرد.3*2

G=B.^2 است.B یعنی ضرب نظیر به نظیر عناصر B.*Bاین دستور درست است و معادل

Page 15: آموزش نرم افزار  MATLAB
Page 16: آموزش نرم افزار  MATLAB

چند دستور پرکاربرد در ایجاد ماتریس ها و بردارها

A=[ ];یک ماتریس تهی ایجاد می کند x=0:0.1:1

است. عناصر 0یک بردار ایجاد می کند که عنصر اول آن )گام افزایش( به دست 0.1بعدی با اضافه کردن

برسیم.یعنی:1 تا زمانی که به می آیندx=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]

x=0:4 در نظر گرفته 1اگر مانند این مثال، گام افزایش ذکر نشود

می شود:x=[0 1 2 3 3];

Page 17: آموزش نرم افزار  MATLAB

script– نویسی mفایلها

به جای نوشتن دستورات در پنجرهcommand و اجرا شدن به صورت تک تک،می توان مجموعه ای از دستورات را در

دستورات موجود در این فایل MATLABیک فایل قرار داد. را اجرا می کند.

می گوییم.m file یا script به این فایل نحوه نوشتنm file مجموعه دستورات مورد نظر را در یک :

ذخیره می m.ویرایشگر می نویسیم. فایل را با پسوند کنیم.

MATLAB هم خود یک ویرایشگر برای انجام این کار دارد که اجرا می شود. file/new/m-fileبا انتخاب

Page 18: آموزش نرم افزار  MATLAB
Page 19: آموزش نرم افزار  MATLAB

بعد از نوشتنm file با انتخاب گزینه debug/run ،برنامه اجرا می شود.

Page 20: آموزش نرم افزار  MATLAB

دستورات حلقه و شرط

درMATLAB مشابه زبان های برنامه نویسی دستورات حلقه و شرط وجود دارد.

forدستور

for x=1:0.1:2

<یک یا چند دستور> end

x تغییر می کند. 0.1 با گام 2 تا 1 از

Page 21: آموزش نرم افزار  MATLAB

دستورwhilewhile شرط>دستور یا دستورات< end

دستورifif شرط>دستور یا دستورات< end

Page 22: آموزش نرم افزار  MATLAB

دستورif-else

if شرط>دستور یا دستورات<

else

>دستور یا دستورات<

end

Page 23: آموزش نرم افزار  MATLAB

switchدستور switch متغیر case 1مقدار >دستور یا دستورات<case 2مقدار>دستور یا دستورات<otherwise>دستور یا دستورات<end

اجرا می otherwise ها برقرار نباشند بخش caseاگر هیچ یک از شود. نوشتن این بخش اختیاری است.

Page 24: آموزش نرم افزار  MATLAB

:MATLABنکته: عملگرهای مقایسه ای در (نامساوی)=~ (مساوی)== => =< > <(نقیض)~ (یا منطقی) | (و منطقی) &

مثالx=4;y=5;if (x==4 & y==2)z=1;else z=4;end

z خواهد شد.4 برابر

Page 25: آموزش نرم افزار  MATLAB

دستورات ورودی و خروجی در MATLAB

دستورinput:برای گرفتن ورودی از كاربر به کار می رود x=input(‘Enter a number or matrix:’);

چاپ می شود. سپس منتظر می ماند تا Enter a numberدر اجرا، ابتدا پیغام قرار می xکاربر عدد یا ماتریسی وارد کند. این عدد یا ماتریس در

گیرد)صفحه بعد(. تابعdisp:برای چاپ پیغام یا مقدار متغیر به کار می رود

dips(‘hello’) را چاپ می کند.Helloپیغام

x=[3 4; 5 6];disp(x)

را چاپ می کند. xمقدار متغیر disp(‘The value=‘) , disp(x)

اجرا command می توان چند دستور را با هم در پنجره ,با استفاده از عالمت کرد )صفحه بعد(

Page 26: آموزش نرم افزار  MATLAB
Page 27: آموزش نرم افزار  MATLAB

MATLABنوشتن تابع در

درMATLAB مشابه زبان های برنامه نویسی می توان برای برنامه تابع نوشت .

Page 28: آموزش نرم افزار  MATLAB

نوشتن تابع توسط کاربر

یکm fileکلماتی که با رنگ قرمز مشخص به صورت زیر ایجاد می کنیم(شده اند باید عینا نوشته شوند(:

function y=afun(a,b)<یک سری دستورات >

afun .اسم تابع است y.برگشتی تابع است a و b.ورودی تابع بعد از نوشتنm file در اینجا( آن را با نام تابع afun و پسوند ).m ذخیره می

کنیم. سپس می توان در پنجرهcommand تابع را اجرا کرد. مثال اگر بنویسیم ،

afunc(3,4) ، 3 به جای a به جای 4 و b قرار می گیرد. تابع اجرا می شود و به دست آمده نشان داده می شود.yمقدار

مي توان تابعي با چند خروجي داشت

function [y,t,x]=afunc(m)

Page 29: آموزش نرم افزار  MATLAB
Page 30: آموزش نرم افزار  MATLAB

نكات در مورد نوشتن تابع

نام تابع بايد هم نام باm file .باشد مي توان در يكm file چندين تابع داشت. اولين تابع در

آن، تابع اصلي خوانده مي شود و بقيه زيرتابع گفته مي بايد هم نام با اين تابع اصلي باشد.m fileشوند. اسم

متغیرهای موجود در یک تابع محلی هستند و توسط توابعدیگر قابل دسترسی نمی باشند.

در صورت وجود چند تابع در یکm-file تنها احضار تابع امکان پذیر است. البته توابع commandاصلی در پنجره

می توانند یکدیگر را احضار کنند.m-fileداخل

Page 31: آموزش نرم افزار  MATLAB

روشی دیگر برای احضار تابع

می توان در یک تابع تابعی دیگر را که در یکm-file دیگر است احضار کرد. مشروط بر اینکه این

m-file .در همان دایرکتوری تابع قرار داشته باشد

Page 32: آموزش نرم افزار  MATLAB

توابع کتابخانه ای

:توابع مثلثاتیsin، cos، tan، asin، acos، atan exp ،)نمایی( log ،)لگاریتم طبیعی( log10

محاسبه Factorial(. 10)لگاریتم در مبنای فاکتوریل(

floor ،)جزء صحیح( fix ،)قسمت صحیح( ceil )قدرمطلق(.abs )جذر( ، sqrt)سقف(،

inv ،)وارون ماتریس( eye ،)ایجاد ماتریس واحد(zeros ،)ایجاد ماتریس حاوی فقط صفر( ones

)ایجاد ماتریسی با عناصر فقط یک(،

Page 33: آموزش نرم افزار  MATLAB

مثال

floor(-0.3)= -1 floor(0.3)=0 floor(-0.8)= -1 floor(0.8)=0 fix(-0.3)= 0 fix(0.3)=0 fix(-0.8)= 0 fix(0.8)=0

ceil(-0.3)= 0 ceil(0.3)=1 ceil(-0.8)= 0 ceil(0.8)=1

round(-0.3)= 0 round(0.3)=0 round(-0.8)= -1 round(0.8)=1

Page 34: آموزش نرم افزار  MATLAB

مثال

x=[0 0.1 0.2 0.5]

y=sin(x)

y برداری است حاوی سینوس عناصر ،x:)صفحه بعد(x=[1 2 ;3 4];

y=inv(x)

y وارون ماتریس x.است y=eye(4)

ایجاد می کند.4*4ماتریس واحد با ابعاد

Page 35: آموزش نرم افزار  MATLAB
Page 36: آموزش نرم افزار  MATLAB

b=zeros(4,3)

با عناصر صفر ایجاد می کند. 4*3یک ماتریس x=ones(4,3)

با عناصر یک ایجاد می کند.4*3ماتریس

Page 37: آموزش نرم افزار  MATLAB
Page 38: آموزش نرم افزار  MATLAB

رسم نمودار

دستورات متعددی برای رسم نمودار درMATLAB. وجود دارند رسم می کند. x را بر حسب y نمودار plot(x,y)تابع

x=0:0.01:pi;y=sin(x);plot(x,y);

رسم می [3.14, 0] را در بازه y=sin(x)مجموعه دستورات باال نمودار کند.

با اتصال نقاط رسم plotنکته: نقاط داده شده گسسته هستند. اما تابع همان Stemشده به یکدیگر یک نمودار پیوسته را نشان می دهد. تابع

را انجام می دهد منتها نقاط را به هم وصل نمی کند و plotکار نمودار گسسته ایجاد می کند.

Page 39: آموزش نرم افزار  MATLAB
Page 40: آموزش نرم افزار  MATLAB

رسم نمودارهای سه بعدی

هدف : رسم تابعz=f(x,y) نکته مهم: اگر مثالx=1:3 و y=1:2 ، z به ازای

، (1,1) ها مقدار باید داشته باشد. (x,y)همه و.... (3,1) ، (2,1)

برای ساخت این نقاط به کار می meshgridدستور رود:

[x ,y]=meshgrid(1:3,1:2);

Page 41: آموزش نرم افزار  MATLAB
Page 42: آموزش نرم افزار  MATLAB

به کار می z=f(x,y) برای رسم plot3(x,y,z)تابع رود:

[x,y]=meshgrid(-3:0.01:3,-3:0.01,3);

z=exp(-x.^2-y.^2);

plot3(x,y,z);

را رسم می کند. این تابع =exp(-x^2-y^2) zنمودار منحنی را به صورت یک سری خطوط رسم می

کند.

Page 43: آموزش نرم افزار  MATLAB
Page 44: آموزش نرم افزار  MATLAB

surf و meshدستورات

mesh منحنی را به صورت شبکه شبکه با :خطوط رنگارنگ رسم می کند.

surf منحنی را به صورت شبکه شبکه با خطوط :رنگارنگ رسم می کند و به عالوه داخل شبکه ها

را هم رنگ می کند.

Page 45: آموزش نرم افزار  MATLAB

برای باز شدن یک پنجره figureدستور جدید

Page 46: آموزش نرم افزار  MATLAB

چند رسممنحنی در یک

پنجره