الرحمن ّ بسم هللا ّ الرحيم آموزش نرم افزارMATLAB مهر1385 MATLABنرم افزاری برای انجام کارهای ریاض ی ،آماری ،مهندس ی و....می باشد. (MATLAB=MATrix Laboratoryآزمایشگاه ماتریس ی) در اوايل دهه 1970توسط Cleve Moler,به وجود آمد. در اوايل دهه 1980با زبان Cبازنويس ي شد. در 1984شركت Mathworkتأسيس شد. جديدترين نسخه آن MATLAB 7.3است. MATLABدرنقش یک ماشین حساب ساده ترین کارهایی که با MATLABمی توان انجام داد همان اعمالی است که یک ماشین حساب معمولی انجام می دهد .جمع ،تفریق ضرب و تقسیم MATLABدرنقش یک ماشین حساب (ادامه) بعد ازاجرای نرم افزارچند (windowپنجره) ظاهرمی شود .یکی از این پنجره ها command windowنام دارد .دراین محیط دستورات MATLABنوشته و اجرا می شوند. انجام کارهای ساده محاسباتی آشنایی با بعض ی قابلیت های MATLAB تعریف و استفاده از متغیرها محاسبات ماتریس ی نوشتن Script( M-fileنویس ی) دستورات حلقه و شرط دستورات ورودی-خروجی ساخت و احضار توابع رسم نمودار استفاده ازمتغیرها با نوشتن دستور x=23متغیری به نام xدر حافظه ایجاد می شود و مقدار 23در آن ریخته می شود. اگر دستور به صورت x=23نوشته شود MATLABمقدار آن را مجددا نمایش می دهد و اگر به صورت ; x=23نوشته شود MATLABآن مقدار را نشان نمی دهد. در MATLABنیاز به تعریف متغیر وجود ندارد. همه متغیرها از نوع 8( doubleبایت) فرض می شود. MATLABزبانی حساس به حالت حروف ( )Case sensitiveاست. با استفاده ازدستور whosمی توان فهمید چه متغیرهایی تاکنون تعریف شده است. با استفاده ازدستور clearمی توان یک متغیر را ازحافظه پاک کرد. متغیرها تا زمانی که clearنشوند درحافظه باقی می مانند. دستور clcبرای پاک کردن پنجره commandبه کار می رود. متغیرهای توکار : piعدد :Realmaxبزرگترین عدد حقیقی قابل نمایش : Realminکوچکترین عدد حقیقی قابل نمایش :Infبی نهایت تعریف ماتریس و محاسبات ماتریس ی نحوه تعریف ماتریس 4 6 9 3 3 5 برای تعریف ماتریس فوق در MATLABبه صورت زیر عمل می کنیم: ]AA=[3 -9 4; -5 3 6 ]AA=[3 9 4 محاسبات ماتریس ی جمع و تفریق با +و - ضرب دو ماتریس (با ابعاد m*nو : )n*pبا * ترانهاده ماتریس :با ' نکته اگر بخواهیم عناصر دو ماتریس را نظیر به نظیر در هم ضرب کنیم به جای * از * .استفاده می کنیم. ./برای تقسیم نظیر به نظیر استفاده می شود. ^ براي به توان رساندن ماتريس به كار مي رود .مثال A*A ، A^2را محاسبه می کند. ^ : .به توان رسانی نظیر به نظیر A.^B مثال ;]A=[1 2 3;4 5 6;3 4 7 ;]B=[2 3; 1 1;4 5 در اینجا یک ماتریس 3*3به نام Aو یک ماتریس 3*2به نام Bتعریف کرده ایم. این دستور ضرب ماتریس ی Aدر Bرا انجام می دهد و حاصل که ماتریس ی 3*2است در Cقرار می گیرد. این دستور اشتباه است چون نمی توان یک ماتریس 3*2را در ماتریس 3*3ضرب کرد. C=A*B D=B*A E=A^2 ماتریس A 3*3را در خودش ضرب می کند .حاصل ماتریس E 3*3است. خطا اعالم می شود .چون B^2یعنی . B*Bاما نمی توان یک ماتریس 3*2را در 3*2ضرب کرد. این دستور درست است و معادل B.*Bیعنی ضرب نظیر به نظیر عناصر Bاست. F=B^2 G=B.^2 چند دستور پرکاربرد درایجاد ماتریس ها و بردارها ;] [=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 . دستورات موجود در این فایل را اجرا می کند. به این فایل scriptیا m fileمی گوییم. نحوه نوشتن :m fileمجموعه دستورات مورد نظر را در یک ویرایشگر می نویسیم. فایل را با پسوند .mذخیره می کنیم. MATLAB هم خود یک ویرایشگر برای انجام این کار دارد که با انتخاب file/new/m-fileاجرا می شود. بعد از نوشتن m fileبا انتخاب گزینه ،debug/runبرنامه اجرا می شود. دستورات حلقه و شرط در MATLABمشابه زبان های برنامه نویس ی دستورات حلقه و شرط وجود دارد. دستور for for x=1:0.1:2 >یک یا چند دستور< end xاز 1تا 2با گام 0.1تغییر می کند. دستور while دستور if شرط while >دستور یا دستورات< end شرط if >دستور یا دستورات< end دستور if-else شرط if >دستور یا دستورات< else >دستور یا دستورات< end دستور switch متغیر switch مقدارcase 1 >دستور یا دستورات< مقدارcase 2 >دستور یا دستورات< otherwise >دستور یا دستورات< end اگر هیچ یک از caseها برقرار نباشند بخش otherwiseاجرا می شود .نوشتن این بخش اختیاری است. نکته :عملگرهای مقایسه ای در :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تابع را اجرا کرد .مثال اگر بنویسیم ) 3 ، afunc(3,4به جای 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در همان دایرکتوری تابع قرار داشته باشد. توابع کتابخانه ای توابع مثلثاتیatan ،acos ،asin ،tan ،cos ،sin : ( expنمایی)( log ،لگاریتم طبیعی)( log10 ،لگاریتم در مبنای .)10 _ Factorialمحاسبه فاکتوریل) ( floorجزء صحیح)( fix ،قسمت صحیح)( ceil ،سقف)sqrt ، (جذر) ( abs ،قدرمطلق). ( invوارون ماتریس)(eye ،ایجاد ماتریس واحد)( zeros ،ایجاد ماتریس حاوی فقط صفر)(ones ،ایجاد ماتریس ی با عناصر فقط یک)، مثال ]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وجود دارند . تابع ) plot(x,yنمودار yرا بر حسب xرسم می کند. ;x=0:0.01:3.14 ;)y=sin(x ;)plot(x,y مجموعه دستورات باال نمودار ) y=sin(xرا در بازه ] [0, 3.14رسم می کند. نکته :نقاط داده شده گسسته هستند .اما تابع plotبا اتصال نقاط رسم شده به یکدیگر یک نمودار پیوسته را نشان می دهد .تابع Stemهمان کار plotرا انجام می دهد منتها نقاط را به هم وصل نمی کند و نمودار گسسته ایجاد می کند. رسم نمودارهای سه بعدی هدف :رسم تابع )z=f(x,y نکته مهم :اگر مثال x=1:3و z ، y=1:2به ازای همه ) (x,yها مقدار باید داشته باشد (3,1) ، (2,1) ،(1,1) .و.... دستور meshgridبرای ساخت این نقاط به کار می رود: ;)[x ,y]=meshgrid(1:3,1:2 تابع ) plot3(x,y,zبرای رسم ) z=f(x,yبه کار می رود: ;)[x,y]=meshgrid(-3:0.01:3,-3:0.01,3 ;)z=exp(-x.^2-y.^2 ;)plot3(x,y,z نمودار ) z= exp(-x^2-y^2را رسم می کند .این تابع منحنی را به صورت یک سری خطوط رسم می کند. دستورات meshو surf :meshمنحنی را به صورت شبکه شبکه با خطوط رنگارنگ رسم می کند. :surfمنحنی را به صورت شبکه شبکه با خطوط رنگارنگ رسم می کند و به عالوه داخل شبکه ها را هم رنگ می کند.
© Copyright 2025 Paperzz