آموزش متلب — 7 گام مهم برای برنامه نویسی با Matlab
برای آموزش متلب می توانید کار خودتان را با مطالعه این مقاله آغاز کنید. در این مقاله سعی خواهیم کرد مراحل اصولی و کاملی را در 7 گام مهم، برای یادگیری شما عزیزان بازگو کنیم تا بتوانید به بهترین نحو با برنامه نویسی در متلب ارتباط برقرار کنید. تنها یک نکته حائز اهمیت وجود دارد و آن هم ممارست در یادگیری است پس با صبر و حوصله آموزش Matlab را شروع کنید.
مقدمه
متلب یک زبان برنامه نویسی است که توسط کمپانی MathWorks توسعه یافته است. گفته میشود این زبان برنامه نویسی به سفارش سازمان فضایی آمریکا (ناسا) برای حل برخی معادلات پیچیده به برنامه نویسان داده شده بود. حل این معادلات به صورت سریع به دانشمندان ناسا کمک می کرد تا زیاد درگیر حل مسائل پیچیده نباشند و به اهداف بالاتر دست یابند. شاید دلیل ماتریسی بودن متلب هم وابسته به موضوع حل معادلات چند معادله چند مجهولی باشد که با استفاده از ساختار ماتریسی متغیرها خیلی راحت می تواند حل شود. به همین دلیل است که زبان متلب به عنوان یک زبان برنامه نویسی ماتریسی است و در آن برنامه نویسی جبر خطی خیلی آسان است.
در مقاله آموزش متلب سعی می کنیم مطالبی ارایه نماییم تا مبتدیان هم بتوانند نحوه کار و استفاده از دستورات متلب را درک کنند. اگر دانش شما از برنامه نویسی کم است نگران نباشید چون در این آموزش روال به گونه ای است که کلیات و موارد مهم آموزش داده شود.
موارد استفاده از متلب
میتوان گفت متلب به عنوان یک ابزار محاسباتی در علوم و مهندسی استفاده می شود که شامل مباحث مختلف در زمینه های فیزیک، شیمی، ریاضیات و تمام رشته های مهندسی می شود. به طور کلی از متلب برای کاربردهای زیر استفاده میشود:
- پردازش سیگنال و ارتباطات
- پردازش تصویر و ویدئو
- سیستم های کنترل
- تست و اندازه گیری مالی محاسباتی
- زیست شناسی محاسباتی
مراحل نصب متلب Matlab
کمپانی سازنده متلب یعنی Mathworks در هر سال میلادی دو نسخه a و b از متلب را ارائه می کند. یعنی در شش ماه اول ورژن a و در شش ماهه دوم ورژن b منتشر می شود. پس نسخه b از نسخه a جدیدتر است. اگر می خواهید این نرم افزار را تهیه کنید، بین دو نسخه a و b بهتر است نسخه b را برای نصب انتخاب کنید.
به دلیل تحریم دسترسی به نسخه اورجینال، استفاده مستقیم از لایسنس آن از طریق سایت متلب با دشواری همراه است پس برای دانلود آن می توانید از سایت های ایرانی که نسخه کرک شده نرم افزار را دارند کمک بگیرید. بهترین کار هم خرید DVD نرم افزار است که از فروشگاه های معتبر محصولات نرم افزاری می توانید نرم افزار متلب را تهیه کنید.
در نظر داشته باشید نسخه های قدیمی متلب سبک تر هستند و برای استفاده در سیستم های قدیمی مناسب می باشند، ولی در عوض تولباکس و توابع جدید متلب را ندارند. پس قبل از انتخاب ورژن متلب، که با سال میلادی و در دو نسخه a و b می باشد، دقت کنید که با سیستم شما هماهنگی و همخوانی داشته باشد.
مراحل نصب متلب در سایت های ایرانی همراه با نحوه فعال کردن نرم افزار به صورت کامل وجود دارد، پس بدلیل آسان بودن موضوع در آموزش متلب از بازگو کردن جزئیات صرف نظر می کنیم. پس از نصب محیط متلب بصورت زیر قابل مشاهده خواهد بود.
آموزش متلب
در این بخش از آموزش متلب برای یادگیری سریع شما عزیزان، یک روش 7 مرحله ای را دنبال می کنیم که بیشتر مدرسان شروع کار با متلب را در همین 7 گام معرفی میکنند. پس قبل از هر کاری این هفت گام را یاد بگیرید. برای یادگیری کامل متلب لازم است از آموزش های اصولی و استاندارد استفاده کنید؛ پیشنهاد ما به شما استفاره از مجموعه آموزش نرم افزار متلب (MATLAB) فرادرس می باشد.
1- عملگرها در متلب
دوستان عزیز قبل از شروع کار آموزش متلب باید نکاتی درباره عملگرها بدانیم. خوب همانطور که قبلاً هم اشاره شد متلب دید ماتریسی دارد و برای داده های اسکالر و غیر اسکالر می تواند استفاده شود. عملگرهای ماتریسی از طریق نقطه (.) با سایر عملگرها از هم جدا می شوند. عملگر + و – برای همه ساختار ها یکی است ولی سایر عمگرها طبق جدول زیر تعریف می شوند.
عملگر | هدف |
+ | عملگر جمع |
– | عملگر تفریق |
* | عملگر ضرب اسکالر و ماتریس |
.* | عملگر ضرب آرایه |
^ | عملگر توان ماتریسی و اسکالر |
.^ | عملگر توان آرایه |
\ | عملگر تقسیم چپ |
/ | عملگر تقسیم راست |
.\ | عملگر تقسیم چپ آرایه |
./ | عملگر تقسیم راست آرایه |
: | عناصر با فاصله منظم را تولید می کند و یک سطر یا ستون کامل را نشان می دهد |
( ) | آرگومان های تابع و شاخص های آرایه را در بر می گیرد. تقدم را نادیده می گیرد |
[ ] | به عناصر آرایه را محفظه می دهد |
. | امتیاز اعشاری |
… | ادامه خط |
, | عبارات و عناصر را در یک ردیف جدا می کند |
; | ستون ها را جدا می کند |
% | توضیحات را در دستورات و قالب بندی را مشخص می کند |
_ | علامت نقل قول و انتقال |
._ | جابجایی غیر همجوار |
= | عملگر تخصیص |
2- متغیر ها در متلب
در متلب، هر متغیر یک آرایه یا ماتریس است. عملیات انتساب به متغیرها به آسانی امکان پذیر است. به مثال زیر توجه کنید:
x = 5
بدون هیچگونه پیچیدگی با این دستور عملیات انتساب انجام می شود. در مثال بالا یک ماتریس 1 در 1 به نام x ایجاد می شود و مقدار 5 را در عنصر خود ذخیره می کند.
توجه داشته باشید که متغیرها قبل از استفاده باید دارای مقادیر باشند. وقتی یک عبارت نتیجه ای را برمی گرداند که به هیچ متغیری اختصاص داده نشده است، سیستم آن را به متغیری به نام ans اختصاص می دهد که می تواند بعداً استفاده شود. به عنوان نمونه:
sqrt(49)
در مثال بالا جذر عدد 49 برابر با 7 خواهد بود و چون در هیچ متغیری ذخیره نشده به طور اتوماتیک در ans ذخیره خواهد شد و مثال های دیگر که نیاز به توضیح خاصی ندارند و براحتی قابل درک هستند.
a = 2; b = 7; c = a * b
3- استفاده از m فایل متلب
برای اینکه بتوانیم در یک محیط ثابت برنامه خودمان را در متلب بنویسیم و اجرا کنیم نیاز به m فایل داریم. متلب یک زبان برنامه نویسی قدرتمند و یک محیط محاسباتی تعاملی است. در متلب می توان مجموعه ای از دستورات را در یک فایل نوشت و فایل را به صورت واحد کامل اجرا کرد، همانند نوشتن یک تابع و فراخوانی آن که در زبان های برنامه نویسی انجام می شود. در متلب MATLAB اجازه نوشتن دو نوع فایل وجود دارد:
- اسکریپت: فایل های اسکریپت فایل های برنامه ای با پسوند .m هستند. در این فایل ها شما یک سری دستور نوشته و باهم اجرا می شوند. اسکریپت ها ورودی نمی پذیرند و هیچ خروجی را بر نمی گردند. آنها بر روی داده ها در فضای کاری کار می کنند.
- تابع: فایل های تابع نیز فایل های برنامه ای با پسوند .m هستند. توابع می توانند ورودی بپذیرند و خروجی برگردانند. متغیرهای داخلی برای تابع، محلی هستند.
میتوان از ویرایشگر MATLAB یا هر ویرایشگر متن دیگری برای ایجاد فایل های m. خود استفاده کرد. برای توضیحات بهتر ویدئوی زیر را مشاهده کنید:
4- ایجاد بردار در متلب
در ادامه آموزش متلب به بحث بردارها می رسیم. بردار در متلب آرایه ای تک بعدی از اعداد است. در متلب دو نوع بردار داریم:
- بردار سطری: بردارهای سطری یا ردیفی با محصور کردن مجموعه ای از عناصر با استفاده از فاصله یا کاما برای محدود کردن عناصر ایجاد می شوند.
- بردار ستونی: بردارهای ستونی با محصور کردن مجموعه ای از عناصر با استفاده از نقطه ویرگول ; برای تعیین حدود عناصر ایجاد می شوند.
مثالی از نحوه ایجاد بردار سطری یا ردیفی در متلب به صورت زیر تعریف می شود:
r = [7 8 9 10 11]
که در خروجی به صورت زیر نشان داده می شود:
r = 7 8 9 10 11
و بصورت ستونی نیز می توان نوشت:
c = [7; 8; 9; 10; 11]
و در خروجی می توان دید:
c = 7 8 9 10 11
می توان به یک یا چند عنصر از یک بردار دسترسی داشت. به عنوان مثال:
X = [ 7; 2; 5; 1; 8; 3]; Y=X(3)
و در Y سومین عنصر X یعنی 5 قرار داده می شود:
Y= 5
و مثالی دیگر:
rv = [1 2 3 4 5 6 7 8 9]; sub_rv = rv(3:7)
خروجی:
sub_rv = 3 4 5 6 7
توجه: در متلب اندیس آرایه ها از 1 شروع می شود.
5- ساختار تصمیم در متلب
در ساختارهای تصمیم برنامهنویس باید یک یا چند شرط را برای ارزیابی یا آزمایش مشخص کند و یک عبارت یا عباراتی که در صورتی که شرط درست تشخیص داده شود، باید اجرا شود، شکل کلی ساختار تصمیم که در بیشتر زبان های برنامه نویسی یافت می شود را می توان در قالب زیر مشاهده کرد:
if <expression> % statement(s) will execute if the boolean expression is true <statements> end
مثالی را باهم می نویسیم:
a = 10; if a < 20 fprintf('a is less than 20\n' ); end fprintf('value of a is : %d\n', a);
و خروجی به شکل زیر خواهد بود:
a is less than 20 value of a is : 10
در ادامه آموزش متلب مثالی از if else را باهم می بینیم:
a = 100; if a < 20 fprintf('a is less than 20\n' ); else fprintf('a is not less than 20\n' ); end fprintf('value of a is : %d\n', a);
و خروجی:
a is not less than 20 value of a is : 100
6- ایجاد حلقه در متلب
در متلب از دو دستور While و For برای ایجاد حلقه یا همان تکرار استفاده می شود. مانند تمام زبان های برنامه نویسی ساختار این دو دستور فقط با کمی تفاوت در ساختار، شبیه هم است. ابتدا قالب یک حلقه با دستور While را مشاهده می کینم:
while <expression> <statements> end
به عنوان مثال می توان نوشت:
a = 10; while( a < 20 ) fprintf('value of a: %d\n', a); a = a + 1; end
و در خروجی خواهیم دید:
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19
حلقه for نیز یک ساختار تکرار است که امکان ایجاد حلقه و اجرای تعداد دفعات مشخصی از یک دستور را مقدور می سازد. ساختار این دستور در متلب به صورت زیر است:
for index = values <program statements> ... end
مثال هایی را از حلقه For در متلب بنویسیم:
for a = 10:20 fprintf('value of a: %d\n', a); end
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19 value of a: 20
می توان به صورت زیر نیز از حلقه For در متلب استفاده کرد:
for a = 1.0: -0.1: 0.0 disp(a) end
1 0.90000 0.80000 0.70000 0.60000 0.50000 0.40000 0.30000 0.20000 0.10000 0
و حتی می توان آرایه از عناصر را به حلقه For داد:
for a = [24,18,17,23,28] disp(a) end
24 18 17 23 28
7- رسم نمودار در متلب
جذابترین بخش در آموزش متلب مربوط به رسم نمودار می باشد. برای رسم نمودار یک تابع، خیلی راحت میتوان مراحل زیر را انجام داد:
- تعیین محدوده ورودی x
- تعریف تابع y = f(x)
- فراخوانی دستور plot (x, y)
در ابتدا یک مثال ساده از تابع y = x را برای محدوده مقادیر x از 0 تا 100 با افزایش 5 برابری رسم میکنیم:
x = [0:5:100]; y = x; plot(x, y)
و نتیجه بصورت نمودار زیر خواهد بود:
یک مثال دیگر برای رسم تابع y = x2 می نویسیم:
x = [1 2 3 4 5 6 7 8 9 10]; x = [-100:20:100]; y = x.^2; plot(x, y)
با کمی تغییر در کد، می توان نموداری صاف تر داشت:
x = [-100:5:100]; y = x.^2; plot(x, y)
برای داشتن ظاهر زیبا برای نمودار میتوان از عنوان Title، برچسب Labels، شبکه بندی Grid Lines و مقیاس بندی Scaling بر روی نمودار استفاده کرد.
- دستورات xlabel و ylabel برچسب هایی را در محور x و محور y اضافه می کند.
- دستور title عنوانی را روی نمودار قرار می دهد.
- دستور Grid on خطوط شبکه بندی شده را روی نمودار قرار می دهد.
- دستور axis equal نمودار را با فاکتورهای مقیاس یکسان و فضاهای هر دو محور رسم می کند.
- دستور axis square یک نمودار مربعی رسم می کند.
برای مشاهده نتیجه مطالب ذکر شده، کد زیر را بنویسید:
x = [0:0.01:10]; y = sin(x); plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'), grid on, axis equal
هماطور که مشاهده می کنید کار کردن با دستورت متلب بسیار راحت و آسان است فقط لازم است بصورت عملی با این نرم افزار کار کنید. البته برای آموزش کامل متلب نیاز به صرف زمان بیشتری دارید و برای آموزش های تکمیلی پیشنهاد می کنیم از آموزش برنامه نویسی متلب MATLAB فرادرس استفاده کنید.
سخن آخر در آموزش متلب
در آموزش متلب شما را با اصول اولیه و کار با نرم افزار متلب آشنا کردیم. لازم داشتن تخصص در یک مبحث، یادگیری مداوم و داشتن صبر و حوصله است. اگر به دنبال اجرا یا پیاده سازی یک پروژه با متلب هستید؛ نگران نباشید کار خودتان را با یادگیری مفاهیم اولیه شروع کنید و آموزش های لازم را از نت جستجو کنید درادامه خواهید دید پروژه و ایده خودتان را پیاده سازی کرده اید. پس اولین گام عملی خود را همین الان بردارید و کارتان را شروع کنید. در این آموزش هدف ما نشان دادن راه بود و طی کردن مسیر با شماست.
در سایت پی استور سورس کدهای فراوانی در زمینه برنامه نویسی متلب وجود دارد که می توانید از آن ها هم استفاده کنید. در پایان امیدواریم مقاله آموزش متلب برای شما مفید بوده باشد. موفق و پیروز باشید.