متلب چیست؟ مقدمه کاربردی متلب
نرم افزار متلب چیست؟! حتما تا به حال بارها اسم نرم افزار متلب و توصیف قابلیت های فراوان آن به گوشتان خورده است. در این مقاله قصد داریم به زبان ساده، یک معرفی کاربردی از متلب داشته باشیم.
با توجه به اینکه شما به عنوان مخاطب این مقاله، احتمالا یک «تازه وارد» به دنیای متلب هستید (و یا شاید هنوز وارد هم نشده باشید!) سعی کرده ایم مطالب را به زبان بسیار ساده و پایه ای و در عین حال کاربردی و کامل مطرح کنیم. بعد از این معرفی هم نوبت می رسد به شروع سریع یادگیری نرم افزار در مطالب بعدی و پروژه های فراوانی که با استفاده از این نرم افزار به نتیجه خواهند رسید.
فقط موارد کاربردی!
معمولا معرفی هر نرم افزار را با معرفی تاریخچه آن نرم افزار و شرکت سازنده اش شروع می کنند. اما ما اینجا کاری به تاریخچه و شرکت سازنده نداریم! احتمالا کاربرد زیادی هم برای شما نداشته باشد. نهایتا برای اطلاع درباره این موارد می توانید به این لینک در ویکی پدیا رجوع کنید. متلب چیست
یک آزمایشگاه از ماتریس ها
پایه و اساس نرم افزار متلب، ماتریس ها هستند. این موضوع آن قدر مهم بوده که نام متلب هم از آن گرفته شده. MAT از Matrix می آید که به معنای ماتریس است و LAB هم ابتدای کلمه Laboratory به معنای آزمایشگاه می باشد: «آزمایشگاه ماتریس ها»
پس ما در متلب بیش از هر چیزی با ماتریس ها سر و کار خواهیم داشت. ماتریس هایی که انواع داده های عددی و حتی غیر عددی (مثل متن ها و کاراکترها) را در کنار هم به صورت قاعده مندی جمع آوری می کنند.
حتی وقتی یک عدد را هم در متلب به متغیری نسبت می دهید (مثلا تعریف می کنید که a=2) باز از یک ماتریس یک در یک استفاده کرده اید.
پیشنهاد می کنم آموزش های این بخش را هم مطالعه کنید: بردار و ماتریس در متلب
شما هم به زبان متلب صحبت می کنید؟!
هر سال شرکت سازنده متلب (Mathworks) آماری از تعداد افرادی که از نرم افزار متلب استفاده می کنند با این عنوان ارائه می دهد که n نفر در حال حاضر قادر هستند به زبان متلب صحبت کنند!
استفاده از زبان متلب در مقایسه با زبان های برنامه نویسی پایه ای مثل ++C، جاوا و … بسیار ساده تر است. به خصوص برای انجام بسیاری از محاسبات ریاضی. مخصوصا ابزارها و توابع ویژه ای که متلب برای حوزه های مختلف تدارک دیده است.
مثلا در حوزه رباتیک یا کنترل، اگر بخواهید در محیط ++C برنامه های خود را پیاده کنید، ممکن است مجبور شوید هزاران خط کد بنویسد. اما متلب توابع و ابزارهای از پیش آماده شده ای دارد که با استفاده از آن ها می توانید به کار خود سرعت دهید.
در این مقاله هم متلب را با زبان برنامه نویسی فوق العاده محبوب پایتون مقایسه کرده ایم! : متلب یا پایتون؟
پشت هر کدام از این توابع و ابزارها ممکن است صدها خط کد نوشته شده باشد که در حالت عادی باید توسط شما نوشته می شد اما متلب تابع را خیلی آماده و تر و تمیز به شما تحویل داده و زحمت کدنویسی آن را از دوش شما برداشته است!
پیشنهاد می کنم آموزش های این بخش را هم مطالعه کنید: توابع در متلب
لطفا توقع بیش از حد از متلب نداشته باشید!
متلب یک نرم افزار بسیار مفید در حوزه پژوهش است. همان طور که نوشتیم، ابزارهای متنوع و گوناگونی در حوزه های مختلف در متلب آماده شده که کار تحقیق و پژوهش را بسیار ساده می کند. اما برای تولید محصولات نهایی و پیاده سازی برنامه ها بر روی آنها نمی توانیم روی متلب حساب کنیم. چرا؟
اولا نرم افزار متلب نسبت به زبان هایی مانند ++C دارای سرعت بسیار پایین تری است و کند تر عمل می کند. پس در تولید نهایی یک محصول نمی تواند به کار ما بیاید. ثانیا ممکن است با برخی از دستگاه ها تطابق لازم را نداشته باشد و اجرا نشود. (یا بد اجرا شود.) در حالیکه زبان هایی مثل ++C کاملا استاندارد هستند و روی اکثر دستگاه ها به سادگی اجرا می شوند.
شرکت ها چگونه از متلب استفاده می کنند؟
شرکت های مختلف با توجه به نیازشان، به شکل های گوناگون از نرم افزار متلب استفاده می کنند. اما معمولا رویه کلی به این صورت است که تحلیل های ابتدایی پروژه ها با متلب انجام می شود، الگوریتم کلی برنامه مورد نظر به دست می آید، اشکال هایش برطرف می شود و حتی بهینه سازی می شود.
حالا که الگوریتم کلی بهینه به دست آمده، معمولا نرم افزار متلب کنار گذاشته می شود و با استفاده از سایر زبان های برنامه نویسی بر روی محصول نهایی اعمال می شود.
دو مثال زیر می تواند بسیار مفید باشد.
برای تحلیل هایی که مستقیما نیازی به پیاده سازی روی محصول نهایی وجود ندارد، می توانیم کلا از متلب استفاده کنیم.
⊗ مثلا فرض کنید می خواهیم قطر بهینه برای پروانه یک کشتی را به دست بیاوریم به طوری که بتواند نیروی پیشران مورد نیاز را تامین کند.
این تحلیل پیش از ساخت انجام می شود و با توجه به نتایج آن، قطر پروانه به دست می آید. حالا دیگر نیازی به زبان های دیگر نداریم که سرعت بالا ببرند. چون نتایج تحلیل به پایان رسیده و قطعه مورد نظر هم ساخته شده است.
⊗ اما فرض کنید بخواهیم برنامه کنترلی یک ربات را به آن اعمال کنیم. ابتدا باید الگوریتم کلی برنامه را با استفاده از متلب به دست بیاوریم و شبیه سازی های لازم را انجام دهیم.
بعد از قطعی شدن الگوریتم، آن را مستقیما روی ربات پیاده نمی کنیم. چون بسیار کند است و ممکن است باعث شود ربات حرکات اسلوموشن انجام دهد! الگوریتم به دست آمده را با استفاده از یک زبان دیگر مثل ++C تولید می کنیم و آن را بر روی ربات پیاده می کنیم.
برای تست و آزمایش تجهیزات، قطعات و محصولات هم می توانیم حساب زیادی روی نرم افزار متلب باز کنیم.
سیمولینک متلب؛ بی خیال کدنویسی!
در کنار محیط کدنویسی متلب، محیط سیمولینک هم قرار دارد که می توانیم با استفاده از آن بسیاری از پروژه های خودمان را بدون نیاز به کدنویسی انجام دهیم.
طبیعتا این محیط می تواند انجام پروژه ها را بسیار ساده کند. شاید بتوان پروژه هایی که چندین ساعت به کدنویسی در متلب نیاز دارند، در مدت بسیار کوتاه تری در سیمولینک با اتصال چند بلوک به هم پیاده کرد.
اما خب کدنویسی طبیعتا انعطاف بیشتری نسبت به استفاده از بلوک های سیمولینک خواهد داشت. در مقاله ای به صورت جداگانه، محیط سیمولینک را به صورت کامل معرفی کرده ایم.
پیشنهاد می کنم آموزش های این بخش را هم مطالعه کنید:آموزش سیمولینک
در ادامه مطالب سعی کرده ایم به صورت کاملا گام به گام، مهم ترین نکات مورد نیازتان برای استفاده از متلب را در قالب مقاله و تصویر و ویدیو جمع آوری کنیم. پس با ما همراه باشید.