آموزش نرم افزار matlab
DESCRIPTION
بسم الله الرّحمن الرّحيم. آموزش نرم افزار MATLAB. مهر 1385. MATLAB نرم افزاری برای انجام کارهای ریاضی، آماری، مهندسی و....می باشد. MATLAB=MATrix Laboratory (آزمایشگاه ماتریسی) در اوايل دهه 1970 توسط Cleve Moler , به وجود آمد. در اوايل دهه 1980 با زبان C بازنويسي شد. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/1.jpg)
MATLABآموزش نرم افزار
1385مهر
حيم حمن الر� بسم الله الر�
![Page 2: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/2.jpg)
MATLAB ،نرم افزاری برای انجام کارهای ریاضی، آماری مهندسی و....می باشد.
MATLAB=MATrix Laboratory)آزمایشگاه ماتریسی( توسط 1970 در اوايل دهه Cleve Moler,.به وجود آمد با زبان 1980در اوايل دهه C.بازنويسي شد شركت 1984در Mathwork .تأسيس شد
![Page 3: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/3.jpg)
MATLAB در نقش یک ماشین حساب
ساده ترین کارهایی که باMATLAB می توان انجام داد همان اعمالی است که یک
ماشین حساب معمولی انجام می دهد. جمع، تفریق ضرب و تقسیم
![Page 4: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/4.jpg)
MATLAB در نقش یک ماشین حساب )ادامه(
بعد از اجرای نرم افزارچندwindow پنجره( ظاهر می شود. یکی از(
نام دارد. command windowاین پنجره ها نوشته و MATLABدر این محیط دستورات
اجرا می شوند.
![Page 5: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/5.jpg)
![Page 6: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/6.jpg)
انجام کارهای ساده محاسباتی
![Page 7: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/7.jpg)
آشنایی با بعضی قابلیت های MATLAB
تعریف و استفاده از متغیرهامحاسبات ماتریسی نوشتنM-file( Script)نویسی دستورات حلقه و شرطدستورات ورودی-خروجیساخت و احضار توابع رسم نمودار
![Page 8: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/8.jpg)
استفاده از متغیرها
با نوشتن دستورx=23 متغیری به نام x در حافظه ایجاد در آن ریخته می شود.23می شود و مقدار
اگر دستور به صورتx=23 نوشته شود MATLAB مقدار ;x=23آن را مجددا نمایش می دهد و اگر به صورت
آن مقدار را نشان نمی دهد.MATLABنوشته شود درMATLAB.نیاز به تعریف متغیر وجود ندارد همه متغیرها از نوعdouble( 8.فرض می شود )بایت MATLAB( زبانی حساس به حالت حروف Case
sensitive .است )
![Page 9: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/9.jpg)
با استفاده از دستورwhos می توان فهمید چه متغیرهایی تاکنون تعریف شده
است. با استفاده از دستورclear می توان یک
متغیر را از حافظه پاک کرد. متغیرها تا زمانی کهclear نشوند در
حافظه باقی می مانند. دستورclc برای پاک کردن پنجره command به
کار می رود.
![Page 10: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/10.jpg)
![Page 11: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/11.jpg)
متغیرهای توکار
piعدد : Realmaxبزرگترین عدد حقیقی قابل نمایش :Realminکوچکترین عدد حقیقی قابل نمایش :
Infبی نهایت :
![Page 12: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/12.jpg)
تعریف ماتریس و محاسبات ماتریسی
نحوه تعریف ماتریس
به صورت زیر عمل می MATLABبرای تعریف ماتریس فوق در کنیم:
AA=[3 -9 4; -5 3 6]
AA=[3 9 4]
635
493
![Page 13: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/13.jpg)
محاسبات ماتریسی
و +جمع و تفریق با -با ابعاد ضرب دو ماتریس(m*n و n*p با : )* ترانهاده ماتریس: با'
نکته اگر بخواهیم عناصر دو ماتریس را نظیر به نظیر در استفاده می کنیم..* از *هم ضرب کنیم به جای
/..برای تقسیم نظیر به نظیر استفاده می شود براي به توان رساندن ماتريس به كار مي رود. مثال ^
A^2 ، A*A .را محاسبه می کند ^. به توان رسانی نظیر به نظیر : A.^B
![Page 14: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/14.jpg)
مثال
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](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/15.jpg)
![Page 16: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/16.jpg)
چند دستور پرکاربرد در ایجاد ماتریس ها و بردارها
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](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/17.jpg)
script– نویسی mفایلها
به جای نوشتن دستورات در پنجرهcommand و اجرا شدن به صورت تک تک،می توان مجموعه ای از دستورات را در
دستورات موجود در این فایل MATLABیک فایل قرار داد. را اجرا می کند.
می گوییم.m file یا script به این فایل نحوه نوشتنm file مجموعه دستورات مورد نظر را در یک :
ذخیره می m.ویرایشگر می نویسیم. فایل را با پسوند کنیم.
MATLAB هم خود یک ویرایشگر برای انجام این کار دارد که اجرا می شود. file/new/m-fileبا انتخاب
![Page 18: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/18.jpg)
![Page 19: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/19.jpg)
بعد از نوشتنm file با انتخاب گزینه debug/run ،برنامه اجرا می شود.
![Page 20: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/20.jpg)
دستورات حلقه و شرط
درMATLAB مشابه زبان های برنامه نویسی دستورات حلقه و شرط وجود دارد.
forدستور
for x=1:0.1:2
<یک یا چند دستور> end
x تغییر می کند. 0.1 با گام 2 تا 1 از
![Page 21: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/21.jpg)
دستورwhilewhile شرط>دستور یا دستورات< end
دستورifif شرط>دستور یا دستورات< end
![Page 22: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/22.jpg)
دستورif-else
if شرط>دستور یا دستورات<
else
>دستور یا دستورات<
end
![Page 23: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/23.jpg)
switchدستور switch متغیر case 1مقدار >دستور یا دستورات<case 2مقدار>دستور یا دستورات<otherwise>دستور یا دستورات<end
اجرا می otherwise ها برقرار نباشند بخش caseاگر هیچ یک از شود. نوشتن این بخش اختیاری است.
![Page 24: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/24.jpg)
:MATLABنکته: عملگرهای مقایسه ای در (نامساوی)=~ (مساوی)== => =< > <(نقیض)~ (یا منطقی) | (و منطقی) &
مثالx=4;y=5;if (x==4 & y==2)z=1;else z=4;end
z خواهد شد.4 برابر
![Page 25: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/25.jpg)
دستورات ورودی و خروجی در 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](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/26.jpg)
![Page 27: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/27.jpg)
MATLABنوشتن تابع در
درMATLAB مشابه زبان های برنامه نویسی می توان برای برنامه تابع نوشت .
![Page 28: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/28.jpg)
نوشتن تابع توسط کاربر
یک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](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/29.jpg)
![Page 30: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/30.jpg)
نكات در مورد نوشتن تابع
نام تابع بايد هم نام باm file .باشد مي توان در يكm file چندين تابع داشت. اولين تابع در
آن، تابع اصلي خوانده مي شود و بقيه زيرتابع گفته مي بايد هم نام با اين تابع اصلي باشد.m fileشوند. اسم
متغیرهای موجود در یک تابع محلی هستند و توسط توابعدیگر قابل دسترسی نمی باشند.
در صورت وجود چند تابع در یکm-file تنها احضار تابع امکان پذیر است. البته توابع commandاصلی در پنجره
می توانند یکدیگر را احضار کنند.m-fileداخل
![Page 31: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/31.jpg)
روشی دیگر برای احضار تابع
می توان در یک تابع تابعی دیگر را که در یکm-file دیگر است احضار کرد. مشروط بر اینکه این
m-file .در همان دایرکتوری تابع قرار داشته باشد
![Page 32: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/32.jpg)
توابع کتابخانه ای
:توابع مثلثاتیsin، cos، tan، asin، acos، atan exp ،)نمایی( log ،)لگاریتم طبیعی( log10
محاسبه Factorial(. 10)لگاریتم در مبنای فاکتوریل(
floor ،)جزء صحیح( fix ،)قسمت صحیح( ceil )قدرمطلق(.abs )جذر( ، sqrt)سقف(،
inv ،)وارون ماتریس( eye ،)ایجاد ماتریس واحد(zeros ،)ایجاد ماتریس حاوی فقط صفر( ones
)ایجاد ماتریسی با عناصر فقط یک(،
![Page 33: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/33.jpg)
مثال
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](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/34.jpg)
مثال
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](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/35.jpg)
![Page 36: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/36.jpg)
b=zeros(4,3)
با عناصر صفر ایجاد می کند. 4*3یک ماتریس x=ones(4,3)
با عناصر یک ایجاد می کند.4*3ماتریس
![Page 37: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/37.jpg)
![Page 38: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/38.jpg)
رسم نمودار
دستورات متعددی برای رسم نمودار در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](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/39.jpg)
![Page 40: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/40.jpg)
رسم نمودارهای سه بعدی
هدف : رسم تابع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](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/41.jpg)
![Page 42: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/42.jpg)
به کار می 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](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/43.jpg)
![Page 44: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/44.jpg)
surf و meshدستورات
mesh منحنی را به صورت شبکه شبکه با :خطوط رنگارنگ رسم می کند.
surf منحنی را به صورت شبکه شبکه با خطوط :رنگارنگ رسم می کند و به عالوه داخل شبکه ها
را هم رنگ می کند.
![Page 45: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/45.jpg)
برای باز شدن یک پنجره figureدستور جدید
![Page 46: آموزش نرم افزار MATLAB](https://reader033.vdocuments.site/reader033/viewer/2022061614/568150a7550346895dbeb3f0/html5/thumbnails/46.jpg)
چند رسممنحنی در یک
پنجره