آموزش متلب

آنچه در این صفحه می خوانید:

معرفی متلب (Matlab)

متلب (Matlab) یک محیط محاسبات عددی چند پارادایم و زبان برنامه نویسی اختصاصی است که توسط MathWorks ساخته شده است. یک زبان با عملکرد بالا برای محاسبات فنی است. این زبان محاسبات، ویژوال سازی و برنامه نویسی در یک محیط آسان را فراهم می کند. متلب با استفاده از این فلسفه که همه چیز ماتریس است، اجازه می دهد تا دستکاری های ماتریسی، ترسیم توابع و داده ها، اجرای الگوریتم ها، ایجاد رابط کاربری و رابط با برنامه های نوشته شده به زبان های دیگر از جمله سی پلاس پلاس، سی شارپ، جاوا و پایتون برقرار و اجرا شود.

اگرچه MATLAB در درجه اول برای محاسبات عددی در نظر گرفته شده است، یک جعبه ابزار اختیاری از موتور نمادین MuPAD استفاده می کند و امکان دسترسی به توانایی های محاسباتی نمادین را فراهم می آورد. یک بسته اضافی، Simulink، شبیه سازی چند دامنه گرافیکی و طراحی مبتنی بر مدل را برای سیستم های پویا و تعبیه شده اضافه می کند. از سال 2018، MATLAB بیش از 3 میلیون کاربر در سراسر جهان دارد. کاربران متلب از پیشینه های مختلف مهندسی، علوم و اقتصاد استفاده می کنند.

MATLAB یک محیط دسکتاپ را تنظیم کرده و برای آنالیزهای تکراری و فرآیندهای طراحی با یک زبان برنامه نویسی که مستقیماً ریاضیات ماتریس و آرایه را بیان می کند، فراهم کرده است. این برنامه شامل ویرایش گر زنده برای ایجاد اسکریپت هایی است که کد، خروجی و متن فرمت شده را در یک نوت بوک اجرایی ترکیب می کند. برنامه های متلب امکان اجرای الگوریتم های مختلف با داده ها را می دهد. برای اجرای روی کلاستر ها، GPU ها و ابر فقط با تغییرات جزئی کد، تجزیه و تحلیل های خود را انجام دهید. نیازی به بازنویسی کد یا یادگیری برنامه نویسی کلان داده و تکنیک های خارج از حافظه نیست.

قسمت های نرم افزار متلب (Matlab)

سیستم MATLAB از پنج قسمت اصلی تشکیل شده است:

زبان متلب

این یک زبان سطح بالا است که دارای عبارات جریان کنترل، توابع، ساختار داده ها، ورودی / خروجی و ویژگی های برنامه نویسی شی گرا است. باعث می شود تا هر دو "programming in the small" را برای ایجاد برنامه های سریع و "programming in the large" برای ایجاد کامل برنامه های کاربردی بزرگ و پیچیده به کار برده شود.

محیط کار متلب

محیط کار متلب شامل مجموعه ابزارها و امکاناتی است که به عنوان کاربر یا برنامه نویس MATLAB می توان با آنها کار کرد. همچنین شامل امکاناتی برای مدیریت متغیرها در فضای کاری شما و ایمپورت و اکسپورت داده ها است و ابزارهایی برای توسعه، مدیریت، دیباگینگ، برنامه های متلب است.

دسته بندی گرافیک

سیستم گرافیکی MATLAB شامل دستورات سطح بالا برای ویژوال سازی داده های دو بعدی و سه بعدی، پردازش تصویر، انیمیشن و گرافیک است. همچنین شامل دستورات سطح پایین است که امکان می دهد ظاهر گرافیکی را به طور کامل سفارشی شود و همچنین رابط کاربری گرافیکی کاملی را در برنامه های MATLAB ایجاد شود.

کتابخانه توابع ریاضی متلب

این کتابخانه شامل مجموعه گسترده ای از الگوریتم های محاسباتی است که از توابع ابتدایی مانند جمع، سینوس، کسینوس و ریاضیات گرفته تا توابع پیچیده تر مانند معکوس ماتریس، مقادیر ویژه ماتریس و تبدیل فوریه.

رابط برنامه کاربردی متلب (API)

این یک کتابخانه است که به شما امکان می دهد برنامه هایی را با C و Fortran را بنویسید که با متلب تعامل دارند. این شامل امکاناتی برای فراخوانی روتین از MATLAB (اتصال پویا)، فراخوانی MATLAB به عنوان موتور محاسباتی و خواندن و نوشتن فایل های MAT است.

تاریخچه متلب (Matlab)

Cleve Moler، رئیس گروه علوم کامپیوتر در دانشگاه نیومکزیکو، توسعه MATLAB را در اواخر دهه 1970 آغاز کرد. او این برنامه را برای دسترسی دانشجویان خود به LINPACK و EISPACK بدون نیاز به یادگیری Fortran طراحی کرد. این دانشگاه به زودی در دانشگاه های دیگر گسترش یافت و مخاطبان قدرتمندی را در جامعه ریاضیات کاربردی یافت. او با شناخت پتانسیل تجاری خود، به مولر و استیو بانگرت پیوست. آن ها MATLAB را در C بازنویسی کردند و در سال 1984 شرکت MathWorks را برای ادامه توسعه آن تأسیس کردند. کتابخانه های بازنویسی شده به JACKPAC معروف بودند. در سال 2000،MATLAB بازنویسی شد تا از مجموعه جدیدتری از کتابخانه ها برای دستکاری ماتریس، استفاده کند.

متلب اولین بار توسط محققان و دست اندرکاران مهندسی کنترل و تخصص های کوچک، پذیرفته شد، اما به سرعت در بسیاری از حوزه های دیگر گسترش یافت. هم اکنون نیز در آموزش و پرورش به ویژه آموزش جبر خطی و تجزیه و تحلیل عددی مورد استفاده قرار می گیرد و در بین دانشمندان درگیر پردازش تصویر محبوب است.

ویژگی های متلب (Matlab)

  • توسعه الگوریتم

الگوریتم هایی را برای برنامه های دسکتاپ و جاسازی شده طراحی کنید.

  • پردازش ابری

محصولات خود را در MathWorks Cloud و همچنین وب سرویس آمازون (AWS)، آژور و سایر کلود های عمومی اجرا کنید.

  • اکتساب داده ها

به داده های بسیاری مستقیماً از منابع MATLAB یا Simulink دسترسی پیدا کنید.

کاوش، مدل سازی و ویژوال سازی داده ها را انجام دهید.

  • استقرار دسکتاپ و وب

برای به اشتراک گذاشتن برنامه های متلب از استقرار برنامه استفاده کنید.

  • شبیه سازی رویداد گسسته

فرآیندهای پیچیده و سیستم های توزیع شده را بهینه کنید.

  • محاسبات GPU

محاسبات MATLAB را در GPU های NVIDIA CUDA فعال کنید.

  • تولید کد و تأیید کد HDL

بدون نیاز به نوشتن کد HDL، دیزاین FPGA،SoC یا ASIC را کاوش، پیاده سازی و تأیید کنید.

  • مدل سازی ریاضی

توسعه و بهینه سازی مدل های ریاضی سیستم های پیچیده را انجام دهید.

  • محاسبات موازی

محاسبات در مقیاس بزرگ را با استفاده از سیستم های دسکتاپ چند هسته ای، GPU ها، کلاستر ها، شبکه ها و ابر ها انجام دهید.

  • تولید کد تعبیه شده

کد تعبیه شده را برای نمونه سازی اولیه یا تولید، ایجاد و تأیید کنید.

  • مدل سازی فیزیکی

طراحی کنترل و تجزیه و تحلیل سیستم را با مدل های سیستم فیزیکی تسریع کنید.

  • پروژه ها

کار خود را سازماندهی کنید، وظایف و فرآیندها را خودکار کنید و با تیم خود همکاری کنید.

  • شبیه سازی و تست در real-time

تست سیستم های کنترل و الگوریتم های پردازش سیگنال بر روی سخت افزار در real-time را انجام دهید.

  • طراحی سیستم و شبیه سازی

تمام قسمت های سیستم خود را در یک محیط چندرسانه ای مدل سازی و شبیه سازی کنید.

  • تأیید، اعتبار سنجی و آزمون

سیستم های تعبیه شده را با استفاده از طراحی مبتنی بر مدل تأیید و ایجاد کنید.

کاربرد متلب (Matlab)

آموزش جامع متلب

  • محاسبات زیست شناسی: تجزیه و تحلیل، ویژوال سازی و مدل سازی داده های بیولوژیکی و سیستم ها
  • سیستم های کنترل: طراحی، آزمایش و اجرای سیستم های کنترل
  • علم داده: توسعه بینش مبتنی بر داده که منجر به بهبود طرح ها و تصمیم گیری ها می شود.
  • یادگیری عمیق: طراحی، ساخت و ویژوال سازی شبکه های عصبی
  • سیستم های جاسازی شده:طراحی، کد گذاری و تأیید سیستم های جاسازی شده
  • سرمایه گذاری و سیستم های IT: بطور ایمن کد MATLAB را به سیستم های IT اختصاص دهید.
  • طراحی و برنامه نویسی FPGA :FPGA،ASIC و SoC Development را مدل سازی، پیاده سازی کنید.
  • پردازش تصویر و بینایی رایانه ای: به دست آوردن، پردازش، تجزیه و تحلیل تصاویر و فیلم برای توسعه الگوریتم و طراحی سیستم
  • اینترنت اشیا: دستگاه های تعبیه شده را به اینترنت وصل کنید و از داده های خود اطلاعات کسب کنید.
  • یادگیری ماشین: کشف الگوها و ایجاد مدل های پیش بینی
  • مکاترونیک: طراحی، بهینه سازی و تأیید سیستم های مکاترونیک
  • سیستم های سیگنال مختلط: تجزیه و تحلیل، طراحی و تأیید سیستم های آنالوگ و سیگنال مختلط
  • طراحی کنترل الکترونیکی برق: طراحی و اجرای کنترل دیجیتال برای موتورها، مبدل های برق و سیستم های باتری
  • تعمیرات قابل پیش بینی: توسعه و استقرار نرم افزار نظارت بر شرایط و پیش بینی شرایط
  • رباتیک: ایده ها و مفاهیم رباتیک را به سیستم های خودمختاری تبدیل کنید که در دنیای واقعی کار می کنند.
  • پردازش سیگنال: تجزیه و تحلیل سیگنال ها و داده های سری زمانی. مدل، طراحی و شبیه سازی سیستم های پردازش سیگنال.
  • تست و اندازه گیری: بدست آوردن و تجزیه و تحلیل داده ها و تست های خودکار
  • ارتباطات بی سیم: ایجاد سیستم های ارتباطی بی سیم
  • هوافضا: طراحی و آزمایش سیستم های هوا فضا، دریایی و زمینی با استفاده از ابزارهای استاندارد صنعتی
  • اتومبیل: توسعه سیستم های خودروسازی که مطابق با الزامات و استانداردهای صنعت باشد.
  • علوم بیولوژیکی: مدل سازی، شبیه سازی و تجزیه و تحلیل سیستم های بیولوژیکی
  • بیوتکنولوژی و دارویی:تجزیه و تحلیل داده ها و مدل سازی را در طول کشف مواد، توسعه، آزمایش و تولید انجام دهید.
  • ارتباطات: طراحی و شبیه سازی سیستم های ارتباطی
  • علوم زمین، اقیانوس و علوم جوی: روندهای پیچیده زمین شناسی را تحلیل و درک کنید.
  • الکترونیک: توسعه و شبیه سازی و آزمایش سیستم و دستگاه های الکترونیکی
  • تولید انرژی: توسعه و پیاده سازی مدل ها، تجزیه و تحلیل بیگ دیتا و خودکارسازی فرایندها
  • اتوماسیون صنعتی و ماشین آلات: برنامه های کنترل جاسازی شده و پردازش سیگنال را برای تجهیزات صنعتی و انرژی مرتبط ایجاد کنید.
  • تجهیزات پزشکی: الگوریتم ها، طرح های اولیه را ایجاد و گزارش هایی را تهیه کنید که می تواند به عنوان شواهدی از انطباق نظارتی مورد استفاده قرار گیرد.
  • فلزات، مواد و معدن: تجزیه و تحلیل داده های حسگر، پیاده سازی استراتژی های کنترل و ایجاد سیستم های پیش بینی نگهداری
  • علوم اعصاب: پردازش و تجزیه و تحلیل داده ها، آزمایش های درایو و شبیه سازی مدل های مدارهای مغز
  • امور مالی و مدیریت ریسک کمی: وارد کردن داده ها، توسعه الگوریتم ها، کد دیباگینگ
  • سیستم های ریلی: برنامه های راه آهن مدل سازی، شبیه سازی و بهینه سازی کنید.
  • نیمه هادی ها: دستگاه های آنالوگ، دیجیتال و سیگنال مختلط را طراحی کنید.
  • نرم افزار و اینترنت: کاوش و تجزیه و تحلیل داده ها، توسعه الگوریتم ها و استقرار برنامه های کاربردی برای نرم افزار و سیستم های اینترنتی

متلب برای هوش مصنوعی

نرم افزار متلب در طراحی مدل های هوش مصنوعی و سیستم های مبتنی بر هوش مصنوعی کاربرد دارد. از مهمترین موارد می توان به موارد زیر اشاره کرد:

متلب برای یادگیری ماشین

با استفاده از MATLAB، مهندسین و سایر متخصصان، هزاران برنامه کاربردی را برای یادگیری ماشین مستقر کرده اند. متلب بخش های سخت یادگیری ماشین را با موارد زیر آسان می کند:

  • پردازش سیگنال پیشرفته و تکنیک های استخراج ویژگی
  • تنظیم خودکار Hyperparameter و انتخاب ویژگی برای بهینه سازی عملکرد مدل
  • امکان استفاده از همان کد برای مقیاس پردازش به داده ها و کلاستر های بزرگ
  • تولید خودکار کد سی و سی پلاس پلاس برای برنامه های کاربردی تعبیه شده و با کارایی بالا
  • الگوریتم های طبقه بندی، رگرسیون، و خوشه بندی برای یادگیری نظارت شده و بدون نظارت
  • اجرای سریعتر از نرم افزار های اوپن سورس در اکثر محاسبات آماری و یادگیری ماشین

متلب برای یادگیری عمیق

فقط با چند خط کد MATLAB، می توانید تکنیک های یادگیری عمیق را برای کار خود بکار گیرید، چه الگوریتم هایی را طراحی کنید، چه آماده سازی و برچسب زدن داده ها یا ایجاد کد و استفاده از سیستم های جاسازی شده.

با MATLAB، می توانید:

  • با استفاده از برنامه ها و ابزارهای ویژوال سازی، معماری های یادگیری عمیق را ایجاد، اصلاح و تحلیل کنید.
  • پردازش داده ها و خودکار کردن برچسب زدن به تصویر، ویدئو و داده های صوتی با استفاده از برنامه ها.
  • الگوریتم های مربوط به GPU های NVIDIA، کلود و منابع مرکز داده را بدون برنامه نویسی تخصصی تسریع می کند.
  • به صورت نظیر به نظیر با استفاده از فریمورک هایی مانند آموزش تنسورفلو (TensorFlow)، پای تورچ (PyTorch) و MxNet همکاری می کند.
  • رفتار سیستم پویا با یادگیری تقویتی، شبیه سازی و آموزش داده می شود.
  • داده های آموزش و تست مبتنی بر شبیه سازی از مدل های MATLAB و Simulink برای سیستم های فیزیکی تولید می شود.

متلب برای علم داده

MATLAB با دستیابی به داده ها و پیش پردازش داده ها، ساختن مدل های یادگیری ماشین و مدل های پیش بینی کننده و ایجاد مدل ها در سیستم های IT، علوم داده را آسان می کند.

  • به داده های ذخیره شده در فلت فایل ها، پایگاه داده ها، هیستورین داده ها و ذخیره ابری دسترسی پیدا کنید یا به منابع زنده مانند سخت افزار جمع آوری داده ها و فیدهای داده های مالی وصل شوید.
  • مدیریت و تمیز کردن داده ها با استفاده از انواع داده و قابلیت های پردازش اولیه برای تهیه برنامه و تعامل با داده ها
  • تجزیه و تحلیل داده های داکیونت ها با گرافیک MATLAB و محیط ویرایشگر نوت بوک
  • تکنیک های مهندسی ویژگی خاص دامنه را برای سنسور، متن، تصویر، فیلم و سایر داده ها اعمال می کند.
  • طیف گسترده ای از رویکردهای مدل سازی را با استفاده از برنامه های یادگیری ماشین و یادگیری عمیق کشف کنید.
  • مدل های یادگیری عمیق و یادگیری عمیق دستگاه با انتخاب خودکار ویژگی ها، انتخاب مدل و الگوریتم های تنظیم فشار
  • مدل های یادگیری ماشین را برای تولید سیستم های فناوری اطلاعات، بدون کدگذاری مجدد به زبان دیگر، مستقر کنید.
  • تبدیل خودکار مدل های یادگیری ماشین به کد C++ / C مستقل

متلب برای شبکه های عصبی مصنوعی

شبکه های عصبی مصنوعی (ANN) یا سیستم های اتصال دهنده، سیستم های محاسباتی هستند که به صورت مبهم از شبکه های عصبی بیولوژیکی مغز حیوانات الهام گرفته می شوند. چنین سیستم هایی "یاد می گیرند" که وظایف خود را با در نظر گرفتن مثال ها انجام دهند، عموماً بدون اینکه با قوانین خاص برنامه ریزی شوند. به عنوان مثال، در تشخیص تصویر، آنها ممکن است یاد بگیرند با تجزیه و تحلیل تصاویر مثال هایی که به صورت دستی به عنوان "گربه" یا "بدون گربه" و با استفاده از نتایج برای شناسایی گربه ها در تصاویر دیگر، تصاویر حاوی گربه ها را شناسایی کنند. آنها این کار را بدون هیچ گونه آگاهی قبلی از گربه ها انجام می دهند، به عنوان مثال، آنها نمی دانند مه گربه ها دارای خز، دم، خط و صورت هستند. در عوض، آنها به طور خودکار شناسایی ویژگی ها را از نمونه های پردازش شده، تولید می کنند.

ANN مبتنی بر مجموعه ای از واحدها یا گره های متصل به نام نورون های مصنوعی است که نورون ها را در مغز بیولوژیکی به راحتی مدل می کنند. هر اتصال، مانند سیناپس های موجود در مغز بیولوژیکی، می تواند سیگنالی را به سلول های عصبی دیگر منتقل کند. نورون مصنوعی، سیگنالی دریافت می کند سپس آن را پردازش می کند و می تواند نورون های متصل به آن را سیگنال کند.

با استفاده از ابزارها و کارکردهای مدیریت مجموعه کلان داده، MATLAB جعبه ابزارهای ویژه ای را برای کار با یادگیری ماشین، شبکه های عصبی، یادگیری عمیق، بینایی رایانه ای و رانندگی خودکار ارائه می دهد. تنها با چند خط کد، متلب به شما امکان می دهد شبکه های عصبی را بدون اینکه متخصص باشید، توسعه دهید. می توانید مدل ها را ایجاد و ویژوال سازی کنید و مدل ها را به سرورها و دستگاه های تعبیه شده مستقر کنید. با MATLAB، می توانید نتایج را در برنامه های موجود خود ادغام کنید. MATLAB با استفاده از مدل های شبکه عصبی شما بر روی سیستم های سازمانی، کلاستر ها، ابرها و دستگاه های تعبیه شده به طور خودکار اقدام می کند.

مثال های متلب (Matlab)

برنامه MATLAB در اطراف زبان برنامه نویسی MATLAB ساخته شده است. استفاده مشترک از برنامه MATLAB شامل استفاده از "پنجره فرمان" به عنوان یک پوسته ریاضی تعاملی یا اجرای فایل های متنی حاوی کد متلب است.

متغیرها

متغیرها با استفاده از اپراتور = تعریف می شوند. MATLAB یک زبان برنامه نویسی دارای تایپ ضعیف است زیرا تایپ ها به طور ضمنی تبدیل می شوند.متلب یک زبان تایپ شده و استنباط شده است زیرا متغیرها بدون اعلام نوع آنها می توانند اختصاص داده شوند، مگر اینکه بخواهند به عنوان آبجکت سمبولیک رفتار شوند و نوع آنها تغییر کند. مقادیر می توانند از ثابت ها، از محاسبات مربوط به مقادیر متغیرهای دیگر یا از خروجی یک عملکرد حاصل شوند. مثلا:

>> x = 17
x =
 17

>> x = 'hat'
x =
hat

>> x = [3*4, pi/2]
x =
   12.0000    1.5708

>> y = 3*sin(x)
y =
   -1.6097    3.0000

بردارها و ماتریس ها

>> array = 1:2:9
array =
 1 3 5 7 9

متغیری را به نام array تعریف می کند (یا مقدار جدیدی را به متغیرهای موجود با نام array اختصاص می دهد) که یک آرایه از مقادیر 1، 3، 5، 7 و 9 است. این یعنی آرایه از 1 شروع می شود. مقدار، با هر مرحله از مقدار قبلی توسط 2 (مقدار افزایش) افزایش می یابد و پس از رسیدن (یا برای جلوگیری از تجاوز بیشتر) 9 متوقف می شود.

>> array = 1:3:9
array =
 1 4 7

ساختار

متلب از انواع ساختار داده ها پشتیبانی می کند. از آنجا که تمام متغیرهای موجود در MATLAB، یک آرایه هستند، نام مناسب تر "آرایه ساختار" است، که در آن هر عنصر آرایه دارای نام های فیلد یکسان است. علاوه بر این، MATLAB از نام فیلدهای پویا پشتیبانی می کند.

توابع

هنگام ایجاد یک تابع MATLAB، نام فایل باید مطابق با اولین تابع در فایل باشد. نام تابع های معتبر با یک حروف الفبا شروع می شوند و می توانند حاوی حروف، اعداد یا underscore ها باشند. متغیرها و توابع حساس به حروف کوچک و بزرگ هستند.

کلاس ها و برنامه نویسی شی گرا

MATLAB از برنامه نویسی شی گرا از جمله کلاس ها، وراثت، دیسپچ مجازی، بسته ها و معانی معیار عبور پشتیبانی می کند. اما، کنوانسیون های نحوی و فراخوانی با زبان های دیگر تفاوت قابل توجهی دارند بسته به اینکه کلاس به عنوان یک کلاس فوق العاده (برای کلاس های مرجع) باشد یا خیر (برای کلاس های مقداری)، MATLAB کلاس های مقدار و کلاس های مرجع دارد.

رفتار فراخوانی متد بین کلاس های مقداری و مرجع متفاوت است. به عنوان مثال، فراخوانی با متد:

object.method();

می تواند هر عضو آبجکت را تنها در صورتی تغییر دهد که جسم نمونه ای از کلاس مرجع باشد، در غیر این صورت، روش های کلاس مقدار باید در صورت نیاز به تغییر آبجکت، نمونه جدیدی را برگردانند.

نمونه ای از یک کلاس ساده در زیر آورده شده است.

classdef Hello
    methods
        function greet(obj)
            disp('Hello!')
        end
    end
end

هنگامی که در فایل ای به نام hello.m قرار داده شد، این دستور را می توان با دستورات زیر اجرا کرد:

>> x = Hello();
>> x.greet();
Hello!
نظرتون درباره این نوشته چیه؟ عالیه بد نیست خوب نبود