آموزش برنامه نویسی متلب
موضوع: آموزش کار با برنامه متلب در کامپیوتر
جلسه: دوم
مدرس : مدرسین جاواپرو
متلب را ساده،آسان و شیرین بنوشید!!!
سلام دوستان...به جلسه دوم آموزش متلب خوش آمدید.
در جلسه اول آموزش برنامه نویسی متلب مختصری راجع به متلب و آموزش نصب برنامه پرداختیم... در این جلسه میخواهیم کمی بیشتر راجع به متلب و کاربردهای اون و همینطور در آخر با دستورات ابتدایی متلب آشنا شویم. پس ما با همراه باشید...
متلب که به انگلیسی MATLAB نوشته میشه مخفف کلمات MATrix LABaratory است، که به معنای آزمایشگاه ماتریس است. دلیل این نامگذاری همانطور که در آینده خواهیمدید، این است که متلب توابع و دستورات زیادی پیرامون کار با ماتریسها و بهطور کلی جبرخطی داره و همه چیز در متلب (همه چیز منظورم متغیرهاست) به صورت یک ماتریس تعریف میشه. فقط برای اینکه منظورم را بهتر برسونم یک رشته از کاراکترها را در نظر بگیرید. جلوتر نشانخواهیمداد که این رشته به صورت آرایهای از کاراکترها در متلب تعریف میشه و شما میتوانید از برخی توابع مربوط به کار با ماتریسها برای تغییر در رشته استفاده کنید.
به همین دلیل هست که متلب در بین محققین و مهندسین و دانشجویان محبوبیت بسیاری پیدا کرده، ولی عیب آن که سبب میشه خیلیها استفاده از اون را ترجیح ندهند این است که استفاده از این نرمافزار رایگان نبوده اما نسخه های مختلفی از جمله نسخه student این برنامه موجود است که البته محدودیت های دسترسی به امکانات کامل برنامه نسبت به نسخه اصلی را دارا میباشند.
بنابراین حتما دلایل بسیاری وجود داشته که این برنامه تااین حد از محبوبیت برخوردار باشه که به برخی از آن-ها اشاره خواهیم کرد:
- کتابخانه های متنوع و گسترده در برنامه که طیف وسیعی از کاربردها را شامل میشه. به برخی از آنها جلوتر اشاره خواهیم کرد.
- سادگی و سهولت یادگیری و شروع کار با برنامه، نیاز به دانش اندک در زمینه برنامهنویسی باعث شده تا افراد بسیاری بتوانند از آن در پروژه های خود بهره ببرند. نوشتن برنامهها و کار با امکانات برنامه بسیار سادهتر نسبت به استفاده از محیطهای برنامهنویسی دیگر است.( البته این نکته را اضافه کنم که مهمترین رقیب این برنامه زبان برنامهنویسی پایتون است، که یک زبان سطح بالا و متنباز بوده که همین باعث شده کتابخانههای متنوعی برای آن در دسترس باشه.)
- سرعت اجرای برنامهها، توابع و کتابخانه های متلب به نحوی نوشته شده اند که به صورت کاملاً بهینه اجرا شوند. همین باعث شده تا برنامه ها و دستورات وارد شده توسط کاربر با سرعت بالایی پردازش و اجرا شوند.
-امکان توسعه کتابخانه ها و توابع، انجمنها و افراد زیادی هستند که برنامه ها، توابع و کتابخانه های توسعه داده شده توسط خود را در دسترس عموم قرار میدهند که دیگر افراد بتوانند برای پروژههای خود از آنها بهره بگیرند.
سفارش انجام پروژه دانشجویی متلب (MATLAB) با تحویل به موقع، صحیح و کامل کار[اینجا کلیک کنید]
- دارا بودن یک محیط تعاملی دوسویه(میان کاربر و کامپیوتر)، درواقع متلب دارای یک محیط برای اجرای سریع دستورات و یا تست برخی توابع و فرامین توسط کاربر نیز هست که آنرا تبدیل به یک محیط کارآمد و محبوب نزد کاربران آن کرده است. به عبارت دیگر شما برای تست کردن برخی دستورات یا پیادهسازی یک ایده بهطور سریع، نیازی به نوشتن یک برنامه از ابتدا تا آخر و سپس اجرای آن برنامه ندارید. بلکه میتوانید از طریق پنجره اصلی برنامه دستورات خود را یک به یک وارد کرده و نتیجه هریک را (در صورت تمایل) در همان مرحله مشاهده کنید و سپس به مرحله بعدی بروید.
خوب تا همینجا کافیه... این نکته را بگم که متلب یک زبان برنامه نویسی نیست!!! بلکه یک برنامه است که بر اساس زبان C توسعه داده شده و برای اجرای دستورات و script های کاربر از برنامه تبدیل دستورات متلب به کد C و همچنین کامپایلر C استفاده میکند. اما برخی از آن از یک زبان نیز یاد میکنند که به دلیل امکانات بسیار آن است که همه قابلیتهای یک زبان را در عمل دارد. در واقع متلب به عنوان یک "زبان برنامهنویسی علمی" سطح بالا شناخته میشود.
در بخش بعدی میخواهیم برخی از کاربردهای متلب را براساس دستهبندی موضوعی ارائه دهیم تا چنانچه در یک یا چند تا از حوزههای زیر مشغول فعالیت یا علاقهمند هستید، به طور مختصر با کاربردهای آن آشنا شوید.
- سیستمه ای هوافضا: طراحی و شبیهسازی سیستم های حوزه مکانیک هواوفضا به کمک جعبه-ابزار(toolbox)های استاندارد.
- سیستم های مخابراتی: طراحی و شبیهسازی کلیه سیستم های حوزه مخابرات از جمله سیستمهای مخابرات دیجیتال، بیسیم، راداری و ...
-بینایی ماشین: پردازش تصویر و همچنین فیلم، و توسعه الگوریتم های این حوزه.
- سیستم های کنترل: طراحی و شبیهسازی انواع سیستمهای کنترل از منجمله سیستمهای کنترل هوشمند، فازی، مدرن، خطی، غیرخطی و ...
- پردازش سیگنال های دیجیتال: طراحی سیستمهای DSP و یا شبیهسازی به منظور تست و رفعاشکال قبل از پیادهسازی عملی، طراحی و شبیهسازی انواع فیلترها و ...
- یادگیری عمیق: توسعه الگوریتم های حوزه deep learning از جمله طراحی و ویژوالسازی شبکههای عصبی چندلایه و...
- سیستم های اقتصادی: شبیهسازی سیستمهای اقتصادی به منظور تحلیل دادهها و سیستمها و یا پیشبینی و تخمین آنها.
- منطق فازی: استفاده از کتابخانه وسیع منطق فازی متلب جهت شبیهسازی سیستمهای فازی و یا انجام کلیه محاسبات منطق فازی
- بهینه سازی: توسعه الگوریتمهای بهینهسازی و استفاده از توابع گسترده کتابخانه optimization به منظور اجرای محاسبات توابع بهینه سازی
-پردازش تصویر: استفاده از کتابخانه قدرتمند پردازش تصویر جهت اجرای فیلترها و اجرای انواع تکنیکهای پردازش تصاویر دیجیتال، همچنین توسعه الگوریتمهای این حوزه به کمک دیگر کتابخانه های deep learning و machine learning
- سیستم های بیولوژیکی: شبیهسازی این سیستمها به کمک مدلهای ریاضی به دستآمده و تحلیل رفتار آنها و همچنین طراحی سیستمهای بیولوژیکی به کمک شبیهسازی فرایندهای آنها و الگوریتمها و توابع جعبهابزار مربوطه در متلب
سیستم های آماری: متلب دارای ابزارهای قدرتمند و پیشرفته جهت شبیهسازی و تحلیل دادههای آماری و فرایندهای تصادفی و انجام محاسبات این حوزه به همراه رسم نمودارهای آماری است. از اینرو بسیاری از متخصصین حوزه آمار و ریاضیات و علوم مهندسی مختلف از آن برای شبیه سازی/طراحی سیستمهای واقعی استفاده میکنند.
اکنون که با برخی از کاربرهای این برنامه آشنا شدید، به این نکته پی بردهاید که زمینههای کابردی برنامه متلب چقدر متنوع و گسترده و همینطور عمیق است. به همین جهت است که طیف وسیع کاربران در حوزههای مختلف علوم را شامل میشود.
خوب تا اینجا امیدوارم یک ذهنیت درست و کافی در مورد برنامه و قابلیتها و کاربردهای آن به دست آوردهباشید. در نتیجه این ذهنیت به شما کمک میکنه که تصمیم بگیرید که آیا یادگیری متلب میتونه به پیشرفت زندگی کاری، تحصیلی و یا شخصی شما کمک کنه یا نه. و اینکه قرار هست چه کارهایی را با این برنامه انجام دهید.
حالا بریم به سراغ آشنایی با محیط برنامه. در تصویر زیر قسمت های مختلف برنامه و نامهای آن مشخص شده اند توضیح مختصری راجع به هر قسمت خواهیم داد:
- Command Window: پنجره فرامین یا دستورات که پنجره اصلی کار با برنامه است. در این قسمت یادخواهیمگرفت که چطور دستورات متلب را وارد و اجرا کنیم.
-Current Folder : دایرکتوری یا مسیر فعلی برنامه که فایلهای ایجاد شده در آن ذخیره میگردند را نشان میدهد.در واقع این قسمت همان Explorer برنامه است. یعنی به کمک آن میتوان به پوشهها و فایل-های کامپیوتر دسترسی داشت. هنگام اجرای پروژهها و نوشتن برنامهها این قسمت کمک میکنه تا به راحتی در بین پوشهها و سندات ایجاد شده هنگام کار جستجو و در صورت نیاز آنها را باز کرده یا تغییر داده ویا حذف کنید.
- Workspace: فضای کاری برنامه، میدانیم که شما با مفهوم متغیرها آشنا هستید. در این قسمت مغیرهای تعریف شده در حین کار با برنامه بلافاصله پس از تعریف قرار میگیرند. این به شما کمک میکند یک لیست از نام تمامی متغیرهای موجود در برنامه خود به همراه اطلاعاتی نظیر اندازه، نوع، مقدار و ... داشته باشید و حتی با کلیک بر روی آنها به محتویات داخل آرایهها و ماتریسها نیز نگاهی بیندازید یا به طور دستی آنها را تغییر دهید.
- Command History: این پنجره که درست در زیر پنجره workspace قرار دارد، تاریخچهای از دستورات وارد شده در پنجره Command Window را نشان میدهد. شما میتوانید دستورات دلخواه خود را در این قسمت به ترتیب و پشت سرهم به طور یکجا مشاهده کرده، آنها را حذف و یا با drag& drop کردن به پنجره دستورات (یا با دوبار کلیک کردن روی هر دستور) دوباره اجرا کنید.
در بالای پنجرهها چند tab و نوار ابزار وجود دارد که بعداً به آن خواهیم پرداخت.
اکنون به command window میپردازیم. همانطور که گفتیم در این پنجره دستورات دلخواه خودرا وارد کرده و سپس نتیجه آنرا نیز مشاهده خواهیم کرد. این پنجره مثل یک ماشینحساب علمی، البته از نوع حرفهای، عمل میکند. بدین صورت که میتوان عملیات ریاضی ومنطقی خود را در آن وارد کرده و نتیجه آن را مشاهدهکرد.برای نمونه دستور زیر که جمع دو عدد است را وارد کرده و enter میکنیم:
1 + 2 ans = 3 |
میبینیم که جواب (همون answer) به صورت عبارتی در زیر دستور ورودی ما نشان داده شد.
عملیات ریاضی دیگه مثل ضرب، توان و تقسیم نیز به همین شکل مطابق زیر قابل اجرا هستند:
2*3 ans = 6 2/4 ans = 0.5000 3^4 ans = 81 |
پس چهار عمل جمع، تفریق، ضرب و تقسیم همیچنین توان رسانی به وسیله عملگرهای بهترتیب +، -، *، /، ^ قابل محاسبه هستند. به تقسیم فوق که با عملگر "/" انجامشد، تقسیم راست نیز گفتهمیشود، زیرا عملوند سمت چپ بر عملوند سمت راست تقسیم شده است. یک عملگر تقسیم به چپ نیز وجود دارد "\" که عکس عمل فوق را انجام میدهد.
2\4 ans = 2 |
دیدیم که حاصل این تقسیم، اینبار برابر با 2 شد.
هنگام تقسیم 2/4 دیدیم که حاصل به صورت اعشاری و تا دقت 4 رقم اعشار نمایش دادهشد. میتوان عبارتهای پیچیدهتر را نیز وارد کرد و حاصل را مشاهده نمود:
2*3 + 3/2 - 1.5 ans = 6 |
در متلب هم مانند زبانهای دیگر برنامهنویسی حقتقدم عملگرها وجود دارد که در اکثر آنها مشابه بوده و نیازی به تکرار نیست. برای اینکه هیچ موقع در ترتیب عملگرها دچار اشتباه نشوید، میتوانید از پرانتز برای اولویت بخشیدن استفاده نمایید.
دستورات زیر را وارد کنید و به جواب ها کمی فکر کنید.
1/0 ans = Inf 0/0 ans = NaN |
همانطور که میدانید تقسیم بر صفر در ریاضیات تعریفنشدهاست. بنابراین این تقسیم در متلب هم حاصل عددی نخواهد داشت. اما متلب بین دو تقسیم فوق تمایز در جواب قائل شدهاست. تقسیم اول که حاصل تقسیم یک عدد مثبت بر صفر است، مقدار +بینهایت را به ما میدهد(Inf همان infinity یا بینهایت است). اما در تقسیم صفر بر صفر حاصل برابر با Not a Number که به معنای غیرعدد است، میگردد. بهطور خلاصه و سادهتر باید بگیم که عملیاتی در متلب ممکن است به نتایج غلط ریاضی منجر شود که در این حالتها مقدار NaN که به معنای نتیجه غلط است برگردانده میشود اما تقسیم یک عدد غیرصفر بر صفر، مقدار + یا – بینهایت تلقی میشود. برای روشنتر شدن موضوع به مثال زیر دقت کنید:
inf + inf ans = Inf inf - inf ans = NaN |
همانطور که میبینید ما از عبارت inf یا Inf به عنوان یک عبارت ریاضی(همان ∞+) استفاده کردیم. در حالت اول همانگونه که از قبل نیز انتظار داشتیم، حاصل جمع دو عبارت +بینهایت، برابر با +بینهایت شد که از لحاظ ریاضی نیز قابل قبول است. اما تفریق این دو عبارت در ریاضیات مبهم بوده که حاصل توسط متلب NaN برگردانده میشود.
آموزش این جلسه را با چند دستور پرکاربرد متلب به پایان میرسانیم. دستور exit، برنامه متلب را به همراه همه پنجرههای باز آن میبندد و از برنامه خارج میشود.(امتحان کنید)
دستور clc نتایج نشان داده شده در پنجره فرامین (command window) را پاک میکند.
دستور cd را وارد میکنیم:
cd D:\apps\MATLAB_R2013a\bin |
این دستور دایرکتوری جاری متلب را (current directory) را نمایش میدهد. برای اینکه این مسیر یا دایرکتوری را تغییر دهید، مثلا به مسیر d:\newfolder مطابق زیر عمل کنید:
>>cd d:\newfolder d:\newfolder |
در جلسه بعدی به دستورات مهم و اساسی دیگر متلب میپردازیم.
تدریس خصوصی آنلاین و از راه دور متلب(MATLAB) با مدرس های حرفه ای و با تجربه
جلسه دوم | آموزش کار با برنامه متلب در کامپیوتر
فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690