مقدمه آموزش برنامه نویسی متلب
در این آموزش سعی میکنیم مطالبی به عنوان مقدماتی بر نرمافزار متلب ارائه نماییم تا مبتدیان بتوانند عملکردهای اولیه تا پیشرفته متلب را درک کنند و بتوانند در سطح متوسطی از تخصص در استفاده از MATLAB گام بردارند. در نظر داشته باشید اگر شما دانش کمی از برنامهنویسی کامپیوتری دارید و مفاهیمی مانند متغیرها، ثابتها، عبارتها، دستورات و غیره را درک میکنید، یادگیری MATLAB مانند یک سرگرمی برای شما خواهد بود و اگر برنامهنویسی را در هر زبان برنامهنویسی سطح بالا مانند C، سی پلاس پلاس یا جاوا انجام داده باشید، بسیار عالی خواهد بود.
متلب یک زبان برنامهنویسی است که به سفارش ناسا توسط شرکت MathWorks توسعه یافته است. این زبان در ابتدا به عنوان یک زبان برنامهنویسی ماتریسی مطرح شده است که در آن برنامهنویسی جبر خطی بسیار ساده بود ولی با گذشت زمان کتابخانهها یا بهتر بگوییم ابزارهای جدید به متلب اضافه شدند که کار پیادهسازی خیل عظیمی از مفاهیم دنیای واقعی را آسانتر میکنند. زبان برنامهنویسی متلب همه چیز را به عنوان یک ماتریس میبیند که این مورد برای حل معادلات ریاضی بسیار عالی است. یعنی با متلب خیلی ساده میتوان معادلات پیچیده ریاضی را حل کرد. برای اطلاعات بیشتر در مورد تاریخچه و طرز کار متلب میتوانید مقاله برنامهنویسی متلب Matlab ما را مطالعه فرمایید.
MATLAB در هر جنبهای از ریاضیات محاسباتی استفاده میشود. در ادامه برخی از محاسبات ریاضی مورد استفاده با متلب آورده شده است:
- برخورد با ماتریسها و آرایهها
- نقشهکشی و گرافیک ۲ بعدی و ۳ بعدی
- جبر خطی
- معادلات جبری
- توابع غیر خطی
- آمار
- تحلیل دادهها
- حساب دیفرانسیل و انتگرال و معادلات دیفرانسیل
- محاسبات عددی
- ادغام
- تبدیلات
- پردازش منحنی
موارد استفاده از متلب
زبان برنامهنویسی متلب بطور گستردهای به عنوان یک ابزار محاسباتی در علوم و مهندسی استفاده میشود که شامل زمینههای فیزیک، شیمی، ریاضی و تمام رشتههای مهندسی میشود. در طیف وسیعی از برنامهها از جمله موارد زیر استفاده میشود:
- پردازش سیگنال و ارتباطات
- پردازش تصویر و ویدیو
- سیستمهای کنترل
- تست و اندازهگیری مالی محاسباتی
- زیستشناسی محاسباتی
- پیادهسازی انواع الگوریتمها
- و غیره
آموزش نصب متلب
قبل از آموزش برنامهنویسی متلب بایستی این نرمافزار را در سیستم خود نصب کنید. به دلیل تحریم ایران از طرف شرکت Mathworks و غیر رایگان بودن این نرمافزار عملاً نمیتوانید این نرمافزار را از خود سایت متلب دانلود و نصب کنید. سایتهای زیادی در ایران وجود دارند که نسخه کرک شده این نرمافزار را بصورت رایگان در اختیار هموطنان عزیز قرار میدهند با جستجوی واژه دانلود نرمافزار متلب براحتی میتوانید به این سایتها مراجعه کرده و آن را دانلود کنید.
بطور کلی شرکت Mathworks هر ساله دو نسخه a و b از نرمافزار Matlab را منتشر میکند. در هر نیمسال یک نسخه که نسخه شش ماه اول با حرف a و نسخه شش ماه دوم با حرف b مشخص میشود. پس طبیعتاً نسخه b از نسخه a جدیدتر است و اگر قصد دانلود این نرمافزار را دارید اگر در یک سال هر دو نسخه a و b در دسترستان است بهتر است نسخه b را برای دانلود انتخاب کنید. پس به روشی که در بالا گفته شد نرمافزار متلب را دانلود نمایید و پس از دانلود، این نرم افزار با چند کلیک ساده قابل نصب است.
مراحل نصب و فعالسازی متلب آسان است و سایتهای ارائهدهنده این نرمافزار راهنمای کاملی برای نصب ارائه میدهند لذا در این آموزش از بازگو کردن مراحل کلی نصب اجتناب میکنیم. پس از نصب موفقیتآمیز متلب باید مانند شکل زیر محیط نرمافزار متلب برای شما باز شود.
پنجره اصلی کار در متلب، دسکتاپ نامیده میشود. دسکتاپ دارای پانلهای زیر است:
- Current Folder: این پنل به شما امکان دسترسی به پوشهها و فایلهای پروژه را میدهد.
- Workspace: تمام متغیرهای ایجاد شده یا وارد شده فایلها را نشان میدهد.
- Command Window: این بخش، قسمت اصلی است که دستورات را میتوان در خط فرمان وارد کرد. با خط فرمان (<<) نشان داده میشود.
عملگرها در متلب
دوستان عزیز قبل از شروع کار آموزش برنامه نویسی متلب باید نکاتی درباره عملگرها بدانیم. متلب طوری طراحی شده است که روی کل ماتریسها و آرایهها عمل میکند. بنابراین عملگرها در مطلب طوری طراحی شدهاند تا روی هر دو دادههای اسکالر و غیراسکالر کار کنند.
عملگرهای ماتریس و عملگرهای آرایهای از طریق علامت نقطه (.) از هم جدا میشوند. عملگرهای جمع و تفریق در ماتریسها و آرایهها مشابهاند. جدول زیر توضیح مختصری است از برخی عملگرها و کاراکترهای ویژه که متلب پشتیبانی میکند.
عملگر | هدف |
+ | عملگر جمع |
– | عملگر تفریق |
* | عملگر ضرب اسکالر و ماتریس |
.* | عملگر ضرب آرایه |
^ | عملگر قدرت ماتریسی و اسکالر |
.^ | عملگر توان آرایه |
\ | عملگر تقسیم چپ |
/ | عملگر تقسیم راست |
.\ | عملگر تقسیم چپ آرایه |
./ | عملگر تقسیم راست آرایه |
: | عناصر با فاصله منظم را تولید میکند و یک سطر یا ستون کامل را نشان میدهد |
( ) | آرگومانهای تابع و شاخصهای آرایه را در برمیگیرد. تقدم را نادیده میگیرد |
[ ] | عناصر آرایه را محفظه میدهد |
. | امتیاز اعشاری |
… | ادامه خط |
, | عبارات و عناصر را در یک ردیف جدا میکند |
; | ستون ها را جدا میکند |
% | نظر در دستورات و قالببندی را مشخص میکند |
_ | علامت نقل قول و انتقال |
._ | جابجایی غیر همجوار |
= | عملگر تخصیص |
نامگذاری متغیرها در متلب
انواع مختلفی از متغیرها در نرمافزار متلب وجود دارد که در ادامه به برخی از آنها اشاره میکنیم :
- متغیرهای عددی: این متغیرها میتوانند دارای مقادیر عددی باشند.
- متغیرهای رشتهای (string) : چنانچه متغیری را بخواهیم به صورت یک رشته از حروف تعریف کنیم، باید از علامت ‘ استفاده کنیم.
در نامگذاری متغیرها متلب نیز همانند بسیاری از زبانهای برنامهنویسی عمل میکند به عنوان مثال متلب به حروف بزرگ و کوچک حساس است. در نامگذاری متغیرها دقت داشته باشید که نام متغیر بامصما باشد یعنی برای متغییری که جمع اعداد در آن ذخیره میشود به عنوان مثال از متغییری با نام Sum استفاده کنید. در متلب طول متغیر میتواند طولانی باشد ولی سعی کنید از متغیرهای طولانی استفاده نکنید. مهمترین مزیت در متلب در اعلان متغیر است. برخلاف زبانهای برنامهنویسی مانند ++C در متلب لازم نیست یک متغیر را قبل از استفاده اعلان یا تعریف کنید.
کدنویسی در متلب
متلب یک محیط تفسیر شده است به عبارت دیگر شما یک دستور را میدهید و متلب آن را بلافاصله اجرا میکند. در این قسمت با ارائه مثالهایی ساده و آسان کار با نرم افزار متلب را آغاز میکنیم. به یقین با مطالعه و یادگیری مثالهای زیر مطالب زیادی از متلب زا به سهولت فرا خواهید گرفت.
در این قسمت با ذکر مثالهایی ساده به همراه توضیحات مختصری از دستورات کدنویسی با روند کار در نرمافزار متلب آشنا خواهیم شد:
۱)
>> 5+5
و پس از اینتر بلافاصله در سطر بعدی جواب بصورت زیر خواهد بود.
>> 10
متغیرها قبل از استفاده باید دارای مقادیر باشند. وقتی یک عبارت نتیجهای را بر میگرداند که به هیچ متغیری اختصاص داده نشده است، اگر متغیری برای مقداردهی تعریف نشده باشد، سیستم آن را به متغیری به نام ans اختصاص میدهد که میتواند بعداً استفاده شود. به عنوان مثال:
>> sqrt(78)
متلب دستور بالا را اجرا میکند و نتیجه زیر را برمیگرداند.
>> ans = 8.8318
و شما میتوانید از این متغیر ans در جای دیگر استفاده کنید:
>> sqrt(78);9876/ans
و نتیجه:
>> ans = 1118.2
۲)
۳ ^ ۲ % ۳ raised to the power of
خروجی زیر را برای این دستور خواهیم داشت:
ans = 9
۳)
۷/۰ % Divide by zero
در این دستور، inf معرفی میشود که برای نمایش عدد بینهایت (مثبت) و نتیجه تقسیم عدد بر صفر به کار میرود. در ادامهی مطالب مربوط به توابع بصورت مفصل به آن خواهیم پرداخت.
ans = Inf warning: division by zero
۴)
۷۳۲ * ۲۰.۳
این دستور سادهی ضرب هم نتیجه زیر را خواهد داشت.
ans = 1.4860e+04
۵)
در محیط متلب، هر متغیر یک آرایه یا ماتریس است. شما میتوانید متغیرها را به روشی ساده اختصاص دهید. به مثال زیر توجه کنید.
x = 3 % defining x and initializing it with a value
یک ماتریس ۱ در ۱ به نام x ایجاد میکند و مقدار ۳ را در عنصر خود ذخیره میکند.
X=3
۶)
x = sqrt(16) % defining x and initializing it with an expression
این مثال در مورد نحوه تخصیص دادن میباشد که خروجی زیر را خواهد داشت.
x = 4
۷)
دستورات چندگانه: میتوانید چندین دستور را در یک خط به این شکل داشته باشید.
a = ۲; b = ۷; c = a * b
خروجی:
c = 14
long assignment: زمانی که دستوراتی طولانی داریم، میتوانیم با تایپ کردن سه نقطه خط را بشکنیم و در خط بعدی ادامهی دستور را تایپ کنیم. برای انجام این کار، قسمتی از دستور را وارد کنید و در ادامهی آن سه نقطه قرار دهید و سپس کلید Enter را فشار دهید و در خط بعدی ادامهی دستور موردنظر را وارد کنید.
۸)
دستور who نام تمام متغیرهایی را که استفاده کردهاید، نمایش میدهد.
who
تمام متغیرهای استفاده شده به شکل زیر نمایش داده میشود.
Your variables are:a ans b c
۹)
دستور whos توضیحات بیشتری از متغیرها را نمایش میدهد. (متغیرهای موجود در حافظه، نوع هر متغیر، حافظه اختصاص داده شده به هر متغیر)
whos
Attr Name Size Bytes Class ==== ==== ==== ==== ===== a 1x1 8 double ans 1x70 757 cell b 1x1 8 double c 1x1 8 double Total is 73 elements using 781 bytes
۱۰)
format: بطور پیشفرض، MATLAB اعداد را با چهار رقم اعشار نشان میدهد. شکلهای مختلفی از دستور format وجود دارد که اینجا به برخی از آنها اشاره کرده و بعضی را با ذکر مثالی نشان خواهیم داد.
دستور format short: بعنوان پیشفرض متلب هست و عدد را با چهار رقم اعشار نمایش میدهد.[/vc_column_text][vc_column_text]دستور format long: عدد را با ۱۶ رقم بعد از اعشار نمایش میدهد.
format long x = 7 + 10/3 + 5 ^ 1.2
نتیجه:
x = 17.2319816406394
دستور format bank: اعداد را به دو رقم اعشار گرد میکند.
format bank daily_wage = 177.45; weekly_wage = daily_wage *6
با اجرای این دستور خروجی زیر را خواهیم داشت.
weekly_wage = 1064.70
دستور format short e: متلب اعداد بزرگ را با استفاده از نماد نمایی نمایش میدهد. دستور format short e اجازه میدهد تا به صورت نمایی با چهار رقم اعشار به اضافه نما نمایش داده شود. مثلا،
format short e 4.678 * 4.9
با اجرای دستور فوق خروجی به شکل زیر خواهد بود.
ans = 2.2922e+01
دستور format long e: همانند دستور format short e با این تفاوت که در این دستور با ۱۶ رقم اعشار نمایش داده میشود.
۱۱)
ایجاد بردارها: بردار، آرایهای تکبعدی از اعداد است که متلب اجازه میدهد دو نوع بردار (بردارهای ردیفی، بردارهای ستونی) ایجاد کنید.
بردارهای ردیفی:
بردارهای ردیف با محصور کردن مجموعهای از عناصر در پرانتز مربع، از فاصله یا کاما برای محدود کردن عناصر ایجاد میشوند. مثلا،
r = [7 8 9 10 11]
خروجی:
r = ۷ ۸ ۹ ۱۰ ۱۱
مثالی دیگر از بردارهای ردیفی را نیز بررسی کنیم.
r = [7 8 9 10 11]; t = [2, 3, 4, 5, 6]; res = r + t
نتیجه را که به شکل بردار ردیفی نشان داده میشود را ببینیم:
res = 9 11 13 15 17
بردارهای ستونی
بردارهای ستونی با محصور کردن مجموعهای از عناصر در پرانتز مربع، با استفاده از نقطه ویرگول(;) برای تعیین حدود عناصر ایجاد میشوند. به مثال زیر دقت کنید.
c = [7; 8; 9; 10; 11]
نتیجه:
c = 7 8 9 10 11
۱۲)
ایجاد ماتریس:
ماتریس یک آرایهی دوبعدی از اعداد است. در متلب، با وارد کردن هر سطر به عنوان دنبالهای از فضا یا عناصر جدا شده با کاما، یک ماتریس ایجاد میشود و انتهای یک سطر با یک نقطه ویرگول مشخص میشود. به عنوان مثال ماتریس ۳ در ۳ را به صورت زیر ایجاد میکنیم.
m = [1 2 3; 4 5 6; 7 8 9]
با خروجی زیر مبینیم که با این دستورات یک ماتریس ۳*۳ را ایجاد کردیم.
m = ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹
تا اینجا با زبان برنامهنویسی متلب و دستورات مقدماتی و نحوهی کار با آنها آشنا شدیم. برای اینکه کمکم گامهای حرفهای شدن را بردارید بهتر است مطالب ما را در پیاستور و پستهای بعدی دنبال کنید.