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

آشنایی با نرم افزار متلب

Embed Size (px)

DESCRIPTION

نرم افزار کاربردی متلب

Citation preview

Page 1: آشنایی با نرم افزار متلب

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

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

Page 2: آشنایی با نرم افزار متلب

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

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

Page 3: آشنایی با نرم افزار متلب

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

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

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

Page 4: آشنایی با نرم افزار متلب

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

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

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

اجرا می شوند.

Page 5: آشنایی با نرم افزار متلب
Page 6: آشنایی با نرم افزار متلب

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

Page 7: آشنایی با نرم افزار متلب

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

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

Page 8: آشنایی با نرم افزار متلب

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

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

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

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

sensitive .است )

Page 9: آشنایی با نرم افزار متلب

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

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

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

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

کار می رود.

Page 10: آشنایی با نرم افزار متلب
Page 11: آشنایی با نرم افزار متلب

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

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

Infبی نهایت :

Page 12: آشنایی با نرم افزار متلب

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

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

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

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

AA=[3 9 4]

635

493

Page 13: آشنایی با نرم افزار متلب

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

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

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

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

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

Page 14: آشنایی با نرم افزار متلب

مثال

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: آشنایی با نرم افزار متلب
Page 16: آشنایی با نرم افزار متلب

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

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: آشنایی با نرم افزار متلب

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

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

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

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

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

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

Page 18: آشنایی با نرم افزار متلب
Page 19: آشنایی با نرم افزار متلب

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

Page 20: آشنایی با نرم افزار متلب

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

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

forدستور

for x=1:0.1:2

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

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

Page 21: آشنایی با نرم افزار متلب

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

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

Page 22: آشنایی با نرم افزار متلب

دستورif-else

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

else

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

end

Page 23: آشنایی با نرم افزار متلب

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

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

Page 24: آشنایی با نرم افزار متلب

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

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

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

Page 25: آشنایی با نرم افزار متلب

دستورات ورودی و خروجی در 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: آشنایی با نرم افزار متلب
Page 27: آشنایی با نرم افزار متلب

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

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

Page 28: آشنایی با نرم افزار متلب

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

یک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: آشنایی با نرم افزار متلب
Page 30: آشنایی با نرم افزار متلب

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

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

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

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

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

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

Page 31: آشنایی با نرم افزار متلب

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

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

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

Page 32: آشنایی با نرم افزار متلب

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

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

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

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

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

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

Page 33: آشنایی با نرم افزار متلب

مثال

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 34: آشنایی با نرم افزار متلب
Page 35: آشنایی با نرم افزار متلب

b=zeros(4,3)

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

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

Page 36: آشنایی با نرم افزار متلب
Page 37: آشنایی با نرم افزار متلب

رسم نمودار

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

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

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

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

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

Page 38: آشنایی با نرم افزار متلب
Page 39: آشنایی با نرم افزار متلب

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

هدف : رسم تابع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 40: آشنایی با نرم افزار متلب
Page 41: آشنایی با نرم افزار متلب

به کار می 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 42: آشنایی با نرم افزار متلب
Page 43: آشنایی با نرم افزار متلب

surf و meshدستورات

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

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

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

Page 44: آشنایی با نرم افزار متلب
Page 45: آشنایی با نرم افزار متلب