آموزش متلب (Matlab)

آموزش متلب

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

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

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

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

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

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

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

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

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

کاربرد متلب

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

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

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

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

  • پردازش ابری

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

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

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

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

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

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

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

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

  • محاسبات GPU

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

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

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

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

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

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

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

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

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

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

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

  • پروژه ها

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

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

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

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

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

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

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

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

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

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

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

ارتباط با زبان های دیگر در متلب

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

كتابخانه هاي نوشته شده در Perl، Java، ActiveX يا دات نت را مي توان مستقيماً از MATLAB، و بسياري از كتابخانه هاي MATLAB (براي مثال XML يا SQL پشتيباني) به عنوان بسته هاي مربوط به كتابخانه هاي جاوا يا ActiveX فراخواني كرد. فراخوانی MATLAB از Java بسیار پیچیده تر است، اما می توان آن را با جعبه ابزار MATLAB انجام داد که به طور جداگانه توسط MathWorks فروخته می شود، یا با استفاده از مکانیسم بدون سند به نام JMI (رابط Java-to-MATLAB، که نباید با Java Metadata اشتباه گرفت) که به آن JMI نیز گفته می شود. برنامه رسمی MATLAB برای جاوا در سال 2016 اضافه شد.

به عنوان گزینه های دیگری برای جعبه ابزار ریاضی نمادین مبتنی بر MuPAD که از MathWorks موجود است، MATLAB می تواند به Maple یا Mathematica متصل شود. كتابخانه ها نيز براي ایمپورت و اکسپورت MathML وجود دارند.

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

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

سینتکس یک تابع بیانیه این است:

function [out1,out2, ..., outN] = myfun(in1,in2,in3, ..., inN)

تابع زیر به نام mymax باید در فایلی به نام mymax.m نوشته شود. به عنوان آرگومان پنج عدد طول می کشد و حداکثر اعداد را برمی گرداند. یک فایل عملکردی با نام mymax.m ایجاد کنید و کد زیر را در آن تایپ کنید:

function max = mymax(n1, n2, n3, n4, n5)

%This function calculates the maximum of the % five numbers given as input max = n1; if(n2 > max) max = n2; end if(n3 > max) max = n3; end if(n4 > max) max = n4; end if(n5 > max) max = n5; end

اولین خط یک تابع با کلید واژه "function" شروع می شود. این اسم تابع و ترتیب استدلال ها را می دهد. در مثال ما، تابع mymax دارای 5 آرگومان ورودی و یک آرگومان خروجی است.

آیا این نوشته را دوست داشتید؟