فراخوانی (بکارگیری) توابع و کتابخانه‌های پایتون در متلب

Call Python from MATLAB

در این آموزش ویدئویی تمامی نکات مهم و اساسی برای استفاده از قابلیت جالب نرم‌ افزار متلب یعنی فراخوانی (بکارگیری) توابع و کتابخانه‌های پایتون در متلب ارائه شده شده است.

فراخوانی (بکارگیری) توابع و کتابخانه‌های پایتون در متلب

شاید برای شما نیز این سوال پیش آمده باشد که آیا می‌توان از توابع پیش فرض (built-in functions) و کتابخانه‌ها (libraries) زبان برنامه نویسی پایتون در داخل نرم افزار متلب استفاده کرد؟
پاسخ این سوال مثبت است و متلب این قابلیت را دارد، تا علاوه بر اینکه از تمامی امکانات این نرم‌افزار فوق استفاده می‌کنید، از توابع و کتابخانه‌های فراوان زبان برنامه نویسی پایتون در داخل نرم افزار متلب نیز بهرمند شوید.

ممکن است این سوال پیش بیاد که اصلا در چه صورتی به همچنین قابلیتی نیاز پیدا خواهیم کرد؟

دلایل استفاده از توابع و کتابخانه‌های پایتون در متلب

به جرات می‌توان گفت نرم افزار متلب بهترین نرم افزار برای برنامه نویسی و محاسبات دم دستی مهندسین است. شاید تنها نقطه ضعف نرم افزار متلب، عملکرد بسیار کند در محاسبات ریاضی سنگین مانند کدهای CFD یا کدهای FEM باشد.

توصیه مکادمی؛ زبان برنامه نویسی مهندسی مکانیک

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

بنابراین انتظار می‌رود اغلب مهندسین از جمله مهندسین مکانیک به نرم افزار متلب تسلط نسبی داشته باشند و سایر زبان‌های برنامه نویسی از جمله پایتون را به عنوان مکمل نرم افزار متلب آموخته باشند. در این صورت ممکن است:

نیاز به استفاده از توابع / کتابخانه‌ها و قابلیت‌های منحصر به فرد پایتون باشد

برای مثال پایتون قابلیت‌های بسیاری خوبی در زمینه هوش مصنوعی (Artificial Intelligence)، ماشین لرنینگ (Mechine Learning) و دیپ لرنینگ (Deep Learning) دارد و بسیاری از دانشجویان از جمله دانشجویان گرایش رباتیک و کنترل برای بهره‌مندی از این قابلیت‌ها به سمت آن می‌روند.

توصیه مکادمی؛ توصیه‌هایی برای مهندسین مکانیک علاقه مند به رباتیک

نیاز به استفاده یا توسعه کدهای نوشته شده به زبان پایتون باشد

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

چرا پایتون را از طریق متلب فراخوانی کنیم؟
چرا پایتون را از طریق متلب فراخوانی کنیم؟

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

فراخوانی پایتون در متلب
فراخوانی پایتون (Python) در متلب (MATLAB)
مقایسه داده ها در متلب و پایتون
مقایسه داده ها در متلب و پایتون

لینک کردن متلب و پایتون

قدم اول برای لینک کردن متلب و پایتون: دانلود نرم افزار پایتون

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

ورژن‌های سازگار متلب و پایتون مطابق جدول زیر است.

ورژن‌های سازگار متلب و پایتون
ورژن‌های سازگار متلب و پایتون بر اساس MATLAB Documentation

قدم دوم برای لینک کردن متلب و پایتون: معرفی مسیر نصب پایتون به متلب

ابتدا کد زیر را در command window نرم افزار متلب وارد کنید:

pyenv

اگر خروجی مانند تصویر زیر دریافت کردید، متلب مسیر نصب و ورژن پایتون را تشخیص داده و لینک شده اند.

پاسخ PythonEnvironment نرم افزار متلب
پاسخ Python Environment نرم افزار متلب

در غیر این صورت، باید از فانکشن یا تابع (Change default environment of Python interpreter) pyenv استفاده کنید. برای مثال اگر از پایتون نسخه ۳.۱۱ استفاده می‌کنید و آن را در محل پیش فرض نصب کرده باشید، کافی است تا کد زیر را وارد کنید

Pe = pyenv(Version=”C:\Users\User\AppData\Local\Programs\Python\Python311\pythonw.exe”)

برای کسب اطلاعات از ورودی‌های تابع pyenv می‌توانید به هلپ PythonEnvironment مراجعه کنید.

آموزش فراخوانی پایتون (Python) در متلب (MATLAB) توسط MathWorks

آموزش فراخوانی پایتون (Python) در متلب (MATLAB) توسط MathWorks

امیدوارم از این آموزش و مطالب سایت مکادمی لذت برده باشید. خوشحال می‌شویم تا نظراتتون رو با ما در میان بگذارید.

مهندس میلاد وحیدیان
تصویر مهندس میلاد وحیدیان

نویسنده:
مهندس میلاد وحیدیان 
دانشجوی دکترای مهندسی مکانیک دانشگاه تهران

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