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

Post on 21-Jan-2016

102 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

1385مهر

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

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

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

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

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

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

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

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

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

اجرا می شوند.

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

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

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

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

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

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

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

sensitive .است )

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

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

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

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

کار می رود.

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

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

Infبی نهایت :

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

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

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

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

AA=[3 9 4]

635

493

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

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

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

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

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

مثال

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این دستور درست است و معادل

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

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];

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

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

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

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

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

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

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

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

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

forدستور

for x=1:0.1:2

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

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

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

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

دستورif-else

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

else

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

end

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

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

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

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

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

دستورات ورودی و خروجی در 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 می توان چند دستور را با هم در پنجره ,با استفاده از عالمت کرد )صفحه بعد(

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

در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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مثال

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

مثال

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ماتریس واحد با ابعاد

b=zeros(4,3)

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

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

رسم نمودار

دستورات متعددی برای رسم نمودار در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کار نمودار گسسته ایجاد می کند.

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

هدف : رسم تابع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);

به کار می 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نمودار منحنی را به صورت یک سری خطوط رسم می

کند.

surf و meshدستورات

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

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

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

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

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

پنجره

top related