380 likes | 597 Views
آشنایی با نرم افزار MATLAB. مرکز فناوری اطلاعات و ارتباطات وتحول اداری شهرداری قم. آشنایی با MATLAB.
E N D
آشنایی با نرم افزار MATLAB مرکز فناوری اطلاعات وارتباطات وتحول اداری شهرداری قم
آشنایی با MATLAB MATLABیک محیط نرمافزاری برای انجام محاسبات عددی و یک زبان برنامهنویسی نسل چهارم است. واژه MATLABهم به معنی محیط محاسبات رقمی و هم به معنی خود زبان برنامهنویسی مربوطه است که از ترکیب دو واژه MATrixو LABoratoryایجاد شدهاست. این نام حاکی از رویکرد ماتریس محور برنامه است، که در آن حتی اعداد منفرد هم به عنوان ماتریس در نظر گرفته میشوند.
آشنایی بامحیط MATLAB • پنجره فرمان : Command window • پنجره تاريخچه دستورات: Command History • پنجره دايرکتوري جاري : Current Directory • پنجره فضاي کاري : Work Space
آشنایی بامحیط MATLAB پنجره فرمان پنجره تاريخچه دستورات
آشنایی بامحیط MATLAB • پنجره فرمان : Command window اعلان متلب فرامین متلب را در جلوی اعلان متلب تایپ کنید
آشنایی بامحیط MATLAB • پنجره تاريخچه دستورات: Command History تمامی دستوراتی که جلوی اعلان متلب تایپ شوند به این لیست اضافه می شوند. شما می توانید با دبل کلیک بر روی هریک از این دستورات باعث اجرای دوباره آنها شوید
آشنایی بامحیط MATLAB • پنجره دايرکتوري جاري : Current Directory در هر زمان تنها یک دایرکتوری یا پوشه به عنوان دایرکتوری جاری در متلب شناخته می شود. هر فایل متلب(برنامه نوشته شده توسط شما) که نام آن جلوی اعلان متلب تایپ شود تنها درصورتی اجرا می شود که در دایرکتوری جاری یا در مسیر متلب باشد
آشنایی بامحیط MATLAB • پنجره فضاي کاري : Work Space متغیرهایی که در حال حاضر در محیط کاری متلب وجود دارند و شما می توانید از مقادیر آنها استفاده کنید یا آنها را تغییر دهید
استفاده از متغیرها با نوشتن دستور x=23 متغیری به نام xدر حافظه ایجاد می شود و مقدار 23 در آن ریخته می شود. اگر دستور به صورت x=23 نوشته شود MATLAB مقدار آن را مجددا نمایش می دهد و اگر به صورت x=23;نوشته شود MATLAB آن مقدار را نشان نمی دهد. در MATLABنیاز به تعریف متغیر وجود ندارد. همه متغیرها از نوع double (8 بایت) فرض می شود. MATLAB زبانی حساس به حالت حروف (Case sensitive) است.
تعریف ماتریس و محاسبات ماتریسی نحوه تعریف ماتریس برای تعریف ماتریس فوق در MATLAB به صورت زیر عمل می کنیم: AA=[3 -9 4; -5 3 6] AA=[3 9 4]
محاسبات ماتریسی جمع و تفریق با + و - ضرب دو ماتریس(با ابعاد m*n و n*p) : با * ترانهاده ماتریس: با ' نکته اگر بخواهیم عناصر دو ماتریس را نظیر به نظیر در هم ضرب کنیم به جای * از .* استفاده می کنیم. ./ برای تقسیم نظیر به نظیر استفاده می شود. ^ براي به توان رساندن ماتريس به كار مي رود. مثلا A^2 ، A*A را محاسبه می کند. .^ : به توان رسانی نظیر به نظیر A.^B
script نویسی –m فایلها به جای نوشتن دستورات در پنجره command و اجرا شدن به صورت تک تک،می توان مجموعه ای از دستورات را در یک فایل قرار داد. MATLAB دستورات موجود در این فایل را اجرا می کند. به این فایل script یا m file می گوییم. نحوه نوشتن m file: مجموعه دستورات مورد نظر را در یک ویرایشگر می نویسیم. فایل را با پسوند .mذخیره می کنیم. MATLAB هم خود یک ویرایشگر برای انجام این کار دارد که با انتخاب file/new/m-file اجرا می شود.
دستورات حلقه و شرط در MATLAB مشابه زبان های برنامه نویسی دستورات حلقه و شرط وجود دارد. دستور for for x=1:0.1:2 <یک یا چند دستور> end x از 1 تا 2 با گام 0.1 تغییر می کند.
دستورات حلقه و شرط دستور while whileشرط <دستور یا دستورات> end دستور if ifشرط <دستور یا دستورات> end
دستورات حلقه و شرط دستور if-else ifشرط <دستور یا دستورات> else <دستور یا دستورات> end
نوشتن تابع در 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 می توانند یکدیگر را احضار کنند.
توابع کتابخانه ای توابع مثلثاتی: sin، cos، tan، asin، acos، atan exp (نمایی)، log (لگاریتم طبیعی)، log10 (لگاریتم در مبنای 10). Factorial_محاسبه فاکتوریل) floor (جزء صحیح)، fix (قسمت صحیح)، ceil (سقف)، sqrt (جذر) ، abs (قدرمطلق). inv (وارون ماتریس)، eye(ایجاد ماتریس واحد)، zeros (ایجاد ماتریس حاوی فقط صفر)، ones(ایجاد ماتریسی با عناصر فقط یک)،
رسم نمودار دستورات متعددی برای رسم نمودار در 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 را انجام می دهد منتها نقاط را به هم وصل نمی کند و نمودار گسسته ایجاد می کند.
دستورات meshو surf mesh: منحنی را به صورت شبکه شبکه با خطوط رنگارنگ رسم می کند. surf: منحنی را به صورت شبکه شبکه با خطوط رنگارنگ رسم می کند و به علاوه داخل شبکه ها را هم رنگ می کند. مرکز فناوری اطلاعات وارتباطات وتحول اداری شهرداری قم
کاربردهای MATLAB Matlab، زباني است كه كاربرد كامپيوتر در مهندسي را با كارائي بالا تضمين كرده و امكانات محاسباتي، تصويري، و برنامه نويسي را در محيطي آسان و آشنا فراهم ميكند. كارائي Matlabدر مقوله هائي نظير: محاسبات رياضي، آناليز داده ها، مدلسازي و شبيه سازي، گرافيك، و توليد نرم افزار (حتي براي محيط ويندوز) به اثبات رسيده است. اين زبان با توجه به نظرات كاربران دانشگاهي و صنعتي دستخوش بازنگري هاي زيادي شده و اكنون به زبان استاندارد جهت آموزشهاي مقدماتي و عالي و ابزار پژوهش و توسعه در صنايع تبديل شده است. Matlab جعبه ابزارهائي براي كاربردهاي خاص در اختيار قرار ميدهد، كه از جمله آنها جعبه ابزار رياضيات، كنترل، شبكه هاي عصبي، بازرگاني، . . . مي باشند. جعبه ابزارها با زبان متلب و به صورت مجموعهاي از ام- فايلها گسترش يافته اند و براي هر كاربر در زمينه تخصصياش كاربرد و اهميت زياد دارند. امكان ساخت جعبه ابزارهاي جديد و شخصي نيز براي كاربران پيشرفته فراهم است.
جعبه ابزارهای MATLAB • simulink، ابزاری برای شبیهسازی سامانهها به صورت مجرد • جعبه ابزار مخابرات matlab، توابع و ابزارهای محاسبات مهندسی مخابرات • جعبهابزار کنترل متلب، توابع و ابزارهای محاسبات مهندسی کنترل • جعبهابزار فازی متلب، توابع و ابزارهای محاسبات فازی • جعبهابزار محاسبات متلب، توابع و ابزارهای محاسبات عددی • جعبهابزار تخمین متلب، توابع و ابزارهای محاسبات بحث تخمین سیستم در مهندسی کنترل • جعبهابزار آمار متلب، توابع و ابزارهای محاسبات آمار • جعبهابزار جمعآوری داده متلب، توابع و ابزارهای جمعآوری داده • جعبهابزار شبکه عصبی متلب، توابع و ابزارهای محاسبات شبکه عصبی • جعبهابزار پردازش تصویر متلب، توابع و ابزارهای محاسبات پردازش تصویر • جعبهابزار پردازش صوت متلب، توابع و ابزارهای محاسبات پردازش صوت • جعبه ابزار احتمالات matlab • جعبهابزار محاسبات SymbolicMath
کاربردهای MATLAB (simulink) Simulinkیک ابزار شبیهسازی همراه با نرمافزار MATLABاست. موارد استفاده از Simulinkعمومی هستند و مانند بسیاری دیگر از نرمافزارهای شبیه سازی مهندسی، منحصر به کاربردهای خاصی نیست. با استفاده از Simulinkمیتوان رفتار یک سیستم را بدون نیاز به ساختن آن تحلیل نمود. در نتیجه یک مهندس با استفاده از Simulinkمیتواند علاوه بر صرفهجویی در هزینه و زمان به بررسی تاثیر اغتشاشات یا سایر عوامل ورودی بر عملکرد یک سیستم بپردازد. همچنین شبیهسازی سیستمها این توانایی را در اختیار میگذارد تا عکسالعمل یک سیستم در صورت تغییر پارامترهای ورودی آن به خوبی شناخته شود. سیمولینک به صورت یک کتابخانه در نرمافزار MATLAB عرضه شده است که شبیهسازی توسط بلوک های این کتابخانه به صورت دیاگرامهای بلوکی انجام میشود.
کاربردهای MATLAB (GUI) همان طور که برای خیلی از زبانهای برنامه نویسی پایه مثل Basicو ... قسمتیبه نام visual ایجاد شده است ، MATLAB هم ابزاری به نام GUIDE دارد کهتوسط آن می توان رابط های گرافیکی مثل دکمه ها ((PUSH BUTTON، لیست ها (LIST BOX)، اسلایدرها(SLIDER) و. . . ایجاد کرد.
کاربردهای MATLAB (کنترل) مهندسی کنترل و کنترل خودکار، یکی از بخش های اساسی در مهندسی است که سعی در شناسایی، مدلسازی و کنترل رفتارهای سیستم های کاربردی دارد. به این ترتیب مطالعه و بررسی آن مخصوص به دسته ی خاص از رشته ها نشده و می تواند گستره وسیعی از مسائل روزمره را در برگیرد. این مسائل می تواند از کنترل دمای یک اتاق با وجود منابع مختلف ایجاد اختلال از جمله باز و بسته شدن درب یا جریان هوای پنجره گرفته تا مدیریت و مدلسازی مسیر حرکت یک هواپیمای فوق پیشرفته را شامل شود. از اینرو توجه به آن در اکثر رشته های دانشگاهی از اهمیت ویژه ای برخوردار است. در مقابل، با پیچیده شدن سیستم های تولید شده توسط انسان از یک طرف و همچنین هزینه بر بودن پیاده سازی سیستم های کنترلی آزمایشی به طور عملی، لزوم ایجاد نرم افزارهای طراحی و مد لسازی سیستم ها و کنترلگرها احساس می شود تا به این ترتیب، سیستم های طراحی شده در مراحل ابتدایی مورد مد لسازی کامپیوتری قرارگرفته و نقاط ضعف و قوت آن ها مشخص شود و در نهایت به مرحله تولید برسند. از اینرو نرم افزارهای مدل سازی امروزه از اهمیت بسیار زیادی برخوردارند. در این میان MATLABگوی سبقت را از سایر نرم افزار مهندسی همرده خود ربوده است و با عرضه نرم افزارهای جانبی کاربردی، خود را در میان اکثریتدانشگاهیان جا انداخته است.
کاربردهای MATLAB (مخابرات) در مهندسی مخابرات و پردازش سیگنال برای شبیه سازی سیستم های مخابراتی و طراحی فیلترهای دیجیتال و تهیه کد VHDLاز روی برنامه MATLABو ارتباط آن با نرم افزارmodelsimو در نهایت پیاده سازی روی FPGAاز نرم افزار MATLABاستفاده می شود. همچنین با استفاده ازنرم افزار MATLAB می توان کلیه شبیه سازی های مربوط به مخابرات ماهواره ای را انجام داد.
کاربردهای MATLAB (منطق فازی) منطق فازی یک مبحث پیچیده و بسیار گسترده را میتوان به سادگی اینگونه تعریف کرد: منطق فازی فراتر از منطق ارزشهای "صفر و یک" نرم افزار های کلاسیک رفته و درگاهی جدید برای دنیای علوم نرم افزاری و رایانه ها میگشاید، زیرا فضای ناواضح، شناور و بی نهایت بین اعداد صفر و یک را هم به کار میگیرد. فازی از فضای بین دو ارزش "برویم" یا "نرویم" ارزش جدید "شاید برویم" یا "میرویم اگر" را استخراج کرده و به کار میگیرد. بدین منوال به عنوان مثال مدیر بانک پس از بررسی رایانه ای بیلان اقتصادی یک بازرگان میتواند فراتر از منطق "وام میدهیم" یا "وام نمیدهیم" رفته و بگوید: وام میدهیم اگر... یک از اهداف جعبه ابزار منطق فازی این است که یک ساختار باز و ساده را برای تصحیح سیستم های فازی مهیا کند. بنابر این جعبه ابزار منطق فازی ساخته شده که تا آنجا که ممکن است دست شما را با وجود محدود کننده های اساسی، باز کند. برای مثال، شما می توانید توابع MATLABمورد نظر خود را بجای هر کدام از توابع پیش فرض استفاده شده در منطق فازی جایگزین کنید. می توانید توابع عضویت، روش AND، روش OR، روش دلالت، روش اجتماع و روش دفازی سازی خود را بسازید. در ساخت سیستم با استفاده از جعبه ابزار منطق فازی در نرم افزار MATLABمی توان از واسط گرافیکی که در جعبه ابزار منطق فازی موجود است استفاده کرد و یا می توان با استفاده از خط فزمان نیز به ساخت سیستم پرداخت، ولی ساخت سیستم ها به صورت گرافیکی ساده تر و قابل فهم تر است.
کاربردهای MATLAB (ریاضیات) • جعبه ابزار ریاضیات نمادین (Symbolic Math Toolbox)محاسبات نمادین را وارد محیط عددیMATLABمی سازد. این جعبه ابزار امکانات عددی و گرافیکی MATLABرا به وسیله ی نوع دیگری از محاسبات ریاضی تکمیل می کند. به زبان ساده در این جعبه ابزار به جای سرکار داشتن با اعداد با حروف یا همان نماد ها سر رو کار داریم. • توانایی ها: • حساب دیفرانسیل و انتگرال (مشتق، انتگرال، حد، مجموع سری، سری تیلور) • جبر خطی (معکوس، دترمینال، مقدار ویژه، تجزیه به مقادیر یکتا و صورت متعارفی یک ماتریس نمادین). • ساده سازی (روشهای ساده کردن یک عبارت جبری). • حل معادلات (راه حلهای نمادین و عددی معادلات جبری و معادلات دیفرانسیل). • توابع ریاضی خاص (توابع ریاضی خاص معمول). • محاسبات دقت متغییر (ارزیابی عددی عبارات ریاضی بر حسب دقت های تعریف شده). • تبدیل ها (فوریه، لاپلاس، z و تبدیل های معکوس آنها).
کاربردهای MATLAB (شبکه عصبی) شبکههای عصبی مصنوعی (Artificial Neural Network - ANN) یا به زبان سادهتر شبکههای عصبی سیستمها و روشهای محاسباتی نوینی هستند برای یادگیری ماشینی، نمایش دانش، و در انتها اعمال دانش به دست آمده در جهت بیشبینی پاسخهای خروجی از سامانههای پیچیده. ایده اصلی این گونه شبکهها (تا حدودی) الهامگرفته از شیوه کارکرد سیستم عصبی زیستی، برای پردازش دادهها، و اطلاعات به منظور یادگیری و ایجاد دانش قرار دارد. انواع گوناگون شبكه هاي عصبي در محيـط MATLABتعـريـف شـده انـد که مـي تـوان به كمـك جعبـه ابزار شبکه عصبی آن ها را تعريف كرد، آمــوزش داد يـا شبيـه سـازي كـرد. ابتـدا دستـور Nntoolرا در محيط مطلب تايپ كنيد تا پنجره مربوط به این جعبه ابزار ظاهر شود.
کاربردهای MATLAB (پردازش تصویر) پردازش تصویر یکی از جدیدترین فنآور یهای دنیا می باشد. این علم به سرعت به یکی از پرکاربردترین علوم در تمامی زمینهها تبدیل شده است. پردازش تصویر کاربردهای فراوانی در زمینه های مختلف دارد که نمونه هایی از آن عبارت است از: صنعت، پزشکی، نظامی وامنیتی، هوا فضا، نجوم، زیست شناسی و ... MATLABیکی از قویترین ابزارهای پردازش تصویر را در قالبImageProcessingToolboxدر اختیار متخصصین این حوزه قرار داده است. بسیاری از عملیات رایج و حتی بعضی از عملیات خاص و پیچیده پردازش تصویری نیز به سادگی در قالب توابع آماده تدارک دیده شده است.
کاربردهای MATLAB (پردازش صوت) پردازش گفتار به عنوان یکی از زیر شاخههای پردازش سیگنال ٫ به سرعت در حال گسترش است. تکنیکهای پیچیده و نواوریهای روز افزون این دانش٫همگی در راستای دستیابی به این ارزو هستند که امکان بیابیم مفاهیم در قالب ابزارهای ریاضی فراهم گردد. در MATLABتوابعی وجود دارند که به منظور کار با صوت طراحی شده اند.
مرکز فناوری اطلاعات وارتباطات وتحول اداری شهرداری قم پایان