آموزش کامل برنامه نویسی در متلب (22 جلسه رایگان به زبان فارسی)

در ادامه آموزش های کاربردی نرم افزار متلب، در این پست ۷ درس و درواقع ۶ فیلم کاربردی آموزش برنامه نویسی متلب را برای شما گلچین کرده ایم که امیدواریم به کمک شما بیاید. این فیلم ها تا حدی شما را با برنامه نویسی متلب آشنا می کنند، هر چند اگر می خواهید بطور کامل به متلب مسلط شوید بایستی از بسته های آموزشی باکیفیت استفاده کنید.
متلب (MATLAB) یک نرمافزار و زبان برنامهنویسی برای محاسبات عددی، ریاضیات مهندسی، تحلیل داده، رسم نمودار، شبیهسازی و حل مسائل علمی است. نام MATLAB از عبارت Matrix Laboratory گرفته شده که میتوان آن را «آزمایشگاه ماتریس» ترجمه کرد. دلیل این نام این است که متلب از ابتدا برای کار با ماتریسها و آرایههای عددی طراحی شده است. متلب در رشتههایی مانند:
- مهندسی برق
- مکانیک
- عمران
- صنایع
- هوافضا
- کنترل
- مخابرات
- ریاضیات
- فیزیک
- پردازش تصویر
- هوش مصنوعی
کاربرد زیادی دارد.
مسیر مناسب یادگیری برای یک مبتدی چنین است:
محیط متلب → متغیرها → آرایه و ماتریس → عملیات ریاضی → شرط → حلقه → تابع → نمودار → فایلها → حل معادلات → سیمولینک
محیط اصلی MATLAB
بعد از بازکردن متلب، چند قسمت مهم را مشاهده میکنید.
Command Window یا پنجره فرمان
در این قسمت میتوانید دستورها را مستقیم وارد کنید.
مثلاً:
2 + 3متلب نتیجه را نمایش میدهد:
ans = 5ans مخفف Answer و به معنی پاسخ است.
Workspace یا فضای کاری
در این قسمت متغیرهایی که ساختهاید نمایش داده میشوند.
مثلاً اگر بنویسید:
x = 10;
y = 20;متغیرهای x و y در Workspace دیده میشوند.
Current Folder یا پوشه جاری
فایلهای پروژه و برنامههای متلب در این قسمت نمایش داده میشوند.
Editor یا ویرایشگر کد
برای نوشتن برنامههای چندخطی و فایلهای متلب از Editor استفاده میشود.
برای برنامهنویسی واقعی بهتر است از Editor استفاده کنید و همه دستورها را فقط در Command Window ننویسید.
متغیر چیست؟
Variable یا متغیر محلی برای نگهداری مقدار است.
مثلاً:
age = 25;در اینجا متغیر age مقدار 25 دارد.
مثال دیگر:
price = 120.5;
name = "Ali";در متلب معمولاً نیازی نیست نوع متغیر را از قبل مشخص کنید.
چرا از نقطهویرگول استفاده میکنیم؟
اگر بنویسید:
x = 100متلب مقدار را در صفحه نمایش میدهد.
اما اگر بنویسید:
x = 100;مقدار ذخیره میشود ولی در صفحه چاپ نمیشود.
این علامت:
;برای جلوگیری از نمایش خروجیهای غیرضروری بسیار مهم است.
در برنامههای بزرگ اگر از نقطهویرگول استفاده نکنید، صفحه پر از خروجی خواهد شد.
قواعد نامگذاری متغیرها
نام متغیر بهتر است معنیدار باشد.
مثلاً:
temperature = 25;
speed = 80;بهتر از:
x1 = 25;
x2 = 80;است.
نام متغیر نباید با عدد شروع شود.
مثلاً:
2speedنام درستی نیست.
ولی:
speed2مجاز است.
متلب همچنین بین حروف بزرگ و کوچک تفاوت قائل میشود.
یعنی:
Ageو:
ageدو متغیر متفاوت هستند.
عملیات ریاضی ساده
عملگرهای اصلی عبارتاند از:
+ جمع
- تفریق
* ضرب
/ تقسیم
^ توانمثلاً:
a = 10;
b = 5;
sumResult = a + b;
subResult = a - b;
mulResult = a * b;
divResult = a / b;برای توان:
x = 2^3;نتیجه:
8خواهد بود.
توابع ریاضی آماده
متلب تعداد زیادی تابع ریاضی آماده دارد.
مثلاً:
sqrt(25)برای جذر.
sin(pi/2)برای سینوس.
cos(0)برای کسینوس.
abs(-10)برای قدر مطلق.
log(10)برای لگاریتم طبیعی.
وجود این توابع یکی از دلایل محبوبیت MATLAB در محاسبات مهندسی است.
بردار چیست؟
Vector یا بردار مجموعهای از چند عدد است.
مثلاً:
A = [1 2 3 4 5];این یک بردار سطری است.
بردار ستونی:
B = [1; 2; 3; 4; 5];در متلب:
فاصله یا ویرگول → جداکردن ستونها
و:
نقطهویرگول → جداکردن سطرها
است.
این نکته را حتماً به خاطر بسپارید.
ماتریس چیست؟
Matrix یا ماتریس مجموعهای از اعداد در چند سطر و ستون است.
مثلاً:
A = [1 2 3;
4 5 6;
7 8 9];این یک ماتریس 3 در 3 است.
بخش بزرگی از قدرت متلب مربوط به کار سریع با ماتریسهاست.
دسترسی به اعضای ماتریس
فرض کنید:
A = [10 20 30;
40 50 60];برای دریافت عنصر سطر اول و ستون دوم:
A(1,2)نتیجه:
20خواهد بود.
در متلب شمارهگذاری از 1 شروع میشود، نه از صفر.
این موضوع برای افرادی که قبلاً زبانهایی مانند Python یا C یاد گرفتهاند مهم است.
علامت دو نقطه
علامت:
:در متلب بسیار مهم است.
مثلاً:
1:5نتیجه:
1 2 3 4 5است.
همچنین:
0:2:10یعنی از صفر تا 10 با فاصله 2:
0 2 4 6 8 10برای ساخت محورهای نمودار و دادههای عددی زیاد از این قابلیت استفاده میشود.
انتخاب یک سطر یا ستون
فرض کنید:
A = [1 2 3;
4 5 6;
7 8 9];برای دریافت سطر دوم:
A(2,:)و برای دریافت ستون اول:
A(:,1)استفاده میکنیم.
علامت : در اینجا یعنی:
تمام اعضای آن بعد.
تفاوت ضرب ماتریسی و عضو به عضو
یکی از مهمترین نکات متلب همین موضوع است.
عملگر:
*برای ضرب ماتریسی استفاده میشود.
اما:
.*برای ضرب عضو به عضو است.
مثلاً:
A = [1 2 3];
B = [4 5 6];
C = A .* B;نتیجه:
4 10 18خواهد بود.
همین موضوع برای:
./
.^نیز وجود دارد.
یعنی:
./ تقسیم عضو به عضو
.^ توان عضو به عضواشتباه میان * و .* یکی از رایجترین خطاهای افراد تازهکار است.
اندازه یک ماتریس
برای فهمیدن ابعاد ماتریس:
size(A)استفاده میشود.
برای تعداد عناصر:
numel(A)و برای طول بردار:
length(A)کاربرد دارد.
ساخت ماتریسهای آماده
متلب چند تابع بسیار کاربردی دارد.
ماتریس صفر:
zeros(3,3)ماتریس یک:
ones(3,3)ماتریس همانی:
eye(3)اعداد تصادفی:
rand(3,3)این توابع در محاسبات و شبیهسازی بسیار استفاده میشوند.
شرط if
برای تصمیمگیری از:
if یعنی اگر
استفاده میکنیم.
مثلاً:
score = 17;
if score >= 12
disp("قبول")
else
disp("مردود")
enddisp برای نمایش خروجی استفاده میشود.
اگر چند حالت داشته باشیم:
if score >= 18
disp("عالی")
elseif score >= 12
disp("قبول")
else
disp("مردود")
endدر متلب بلوکهای شرطی با:
endتمام میشوند.
عملگرهای مقایسه
عملگرهای مهم:
== مساوی
~= نامساوی
> بزرگتر
< کوچکتر
>= بزرگتر یا مساوی
<= کوچکتر یا مساویتوجه کنید:
=برای مقداردهی است.
اما:
==برای مقایسه استفاده میشود.
حلقه for
Loop یا حلقه برای تکرار دستورات است.
مثلاً:
for i = 1:5
disp(i)
endاعداد 1 تا 5 را نمایش میدهد.
مثال دیگر:
sumValue = 0;
for i = 1:10
sumValue = sumValue + i;
endحلقه while
while یعنی تا زمانی که
مثلاً:
x = 1;
while x <= 5
disp(x)
x = x + 1;
endاگر شرط حلقه هیچوقت نادرست نشود، حلقه بینهایت ایجاد میشود.
بردارسازی به جای حلقه
یکی از ویژگیهای مهم متلب این است که در بسیاری از موارد میتوان بهجای حلقه روی کل آرایه عملیات انجام داد.
مثلاً بهجای اینکه برای مربع اعداد حلقه بنویسیم:
x = 1:5;
y = x.^2;این روش را Vectorization یا بردارسازی محاسبات مینامند.
بردارسازی معمولاً کد را کوتاهتر و در بسیاری از موارد سریعتر میکند.
این مهارت را بهتدریج یاد بگیرید.
Script چیست؟
Script یا اسکریپت یک فایل شامل چند دستور متلب است.
فایلهای متلب معمولاً پسوند:
.mدارند.
مثلاً فایل:
calculate.mمیتواند شامل:
a = 10;
b = 20;
c = a + b;
disp(c)باشد.
برای برنامههای چندخطی بهتر است از Script استفاده کنید.
Function چیست؟
Function یا تابع مجموعهای از دستورهاست که کار مشخصی انجام میدهد.
مثلاً:
function result = addNumbers(a, b)
result = a + b;
endاین تابع دو ورودی میگیرد و نتیجه جمع را برمیگرداند.
استفاده:
x = addNumbers(10, 20);توابع باعث میشوند برنامه:
- مرتبتر
- قابل استفاده مجدد
- قابل آزمایشتر
شود.
رسم نمودار
یکی از نقاط قوت MATLAB رسم نمودار است.
مثلاً:
x = 0:0.1:10;
y = sin(x);
plot(x, y)یک نمودار سینوسی رسم میکند.
میتوانیم عنوان و نام محور نیز اضافه کنیم:
title("نمودار سینوس")
xlabel("x")
ylabel("sin(x)")
grid ongrid on خطوط شبکه نمودار را فعال میکند.
چند نمودار در یک شکل
مثلاً:
x = 0:0.1:10;
y1 = sin(x);
y2 = cos(x);
plot(x, y1)
hold on
plot(x, y2)
hold offدستور:
hold onباعث میشود نمودار قبلی پاک نشود و نمودار بعدی روی همان شکل رسم شود.
نمودارهای دیگر
متلب انواع نمودار دارد.
مثلاً:
bar(x)برای نمودار میلهای.
histogram(data)برای هیستوگرام.
scatter(x,y)برای نمودار پراکندگی.
surf(X,Y,Z)برای سطح سهبعدی.
انتخاب نمودار مناسب به نوع داده و هدف تحلیل بستگی دارد.
حل دستگاه معادلات
یکی از کاربردهای مهم MATLAB حل معادلات خطی است.
مثلاً دستگاه:
2x + y = 5
x + 3y = 6را میتوان به شکل ماتریسی نوشت:
A = [2 1;
1 3];
b = [5;
6];
x = A\b;این روش یکی از مهمترین کاربردهای ماتریس در مهندسی است.
میانگین و آمار ساده
متلب برای تحلیل عددی نیز توابع زیادی دارد.
مثلاً:
data = [10 12 15 20 25];میانگین:
mean(data)میانه:
median(data)انحراف معیار:
std(data)کمترین مقدار:
min(data)بیشترین مقدار:
max(data)خواندن فایل
متلب میتواند اطلاعات فایلهای مختلف را وارد کند.
برای مثال فایل Excel:
data = readtable("data.xlsx");یا فایل CSV:
data = readtable("data.csv");این قابلیت برای تحلیل دادههای آزمایشگاهی و مهندسی بسیار مهم است.
Table یا جدول داده
Table یا جدول برای نگهداری دادههایی با ستونهای مختلف مناسب است.
مثلاً ممکن است فایل شامل:
- نام
- سن
- دما
- فشار
باشد.
Table نسبت به ماتریس برای چنین دادههایی خواناتر است، چون هر ستون میتواند نام مشخص داشته باشد.
NaN چیست؟
در دادههای عددی ممکن است با:
NaNمواجه شوید.
NaN مخفف Not a Number و به معنی «عدد معتبر نیست» است.
مثلاً بعضی عملیات نامعتبر یا دادههای گمشده میتوانند NaN ایجاد کنند.
وجود NaN ممکن است روی محاسبات آماری تأثیر بگذارد؛ بنابراین باید بررسی شود.
Inf چیست؟
Inf به معنی:
Infinity یا بینهایت
است.
مثلاً بعضی محاسبات ممکن است عدد بسیار بزرگ یا تقسیم خاصی ایجاد کنند که متلب آن را به شکل Inf نشان دهد.
دیدن Inf یا NaN معمولاً نشانهای است که باید محاسبات یا دادهها را بررسی کنید.
Debugging یا اشکالزدایی
Debugging یعنی پیدا کردن و رفع خطاهای برنامه.
در Editor میتوانید:
Breakpoint یا نقطه توقف
قرار دهید.
در این حالت اجرای برنامه در خط مشخصی متوقف میشود و میتوانید مقدار متغیرها را بررسی کنید.
برای یادگیری برنامهنویسی، Debugger بسیار مهمتر از این است که فقط پیام خطا را ببندید.
وقتی خطا رخ داد، ابتدا متن خطا و شماره خط را بخوانید.
دانلود کنید: ۷ درس کاربردی آموزش برنامه نویسی در متلب
Simulink چیست؟
سیمولینک (Simulink) محیطی گرافیکی است که همراه اکوسیستم MATLAB استفاده میشود.
در Simulink بهجای نوشتن تمام روابط بهصورت کد، میتوان سیستم را با بلوکها و اتصال بین آنها مدل کرد.
کاربردهای مهم:
- سیستمهای کنترل
- برق
- موتور
- رباتیک
- دینامیک
- خودرو
- پردازش سیگنال
هستند. برای مثال میتوان سیستم جرم، فنر و میرایی را با بلوکها شبیهسازی کرد. اگر تازهکار هستید، ابتدا خود MATLAB را یاد بگیرید و سپس وارد Simulink شوید.
Toolbox چیست؟
Toolbox یا جعبهابزار تخصصی مجموعهای از امکانات آماده برای یک حوزه خاص است.
مثلاً جعبهابزارهایی برای:
- پردازش تصویر
- کنترل
- یادگیری ماشین
- بهینهسازی
- پردازش سیگنال
- آمار
وجود دارند.
لازم نیست همه Toolboxها را نصب یا یاد بگیرید.
فقط ابزار مربوط به رشته و پروژه خود را انتخاب کنید.
MATLAB در مهندسی چه کاربردهایی دارد؟
مهندسی مکانیک
- تحلیل ارتعاش
- حل معادلات حرکت
- انتقال حرارت
- تحلیل داده آزمایشگاهی
مهندسی برق
- پردازش سیگنال
- کنترل
- مخابرات
- مدار
مهندسی عمران
- تحلیل عددی
- پردازش داده
- حل ماتریسی سازهها
- بهینهسازی
هوش مصنوعی
- آمادهسازی داده
- یادگیری ماشین
- شبکه عصبی
- پردازش تصویر
بنابراین کاربرد MATLAB به یک رشته محدود نیست.
بلد باشید: کجا و به چه دلیل باید از نرم افزار متلب استفاده کنیم یا نکنیم؟

متلب در همان ابتدای کار برای تجزیه و تحلیل عددی طراحی شده است. از ساخت و ساز ساختمان گرفته تا نجوم، ورودی و خروجی متلب در کلیه پروژه های تجاری بسیار مهم است. متلب به طور گسترده ای توسط معماران استفاده می شود. علاوه بر این، برای کشف نظریه های مختلف، به ویژه در صنعت بهداشت و داروسازی، استفاده می شود.
همچنین ممکن است این متلب برای شما مفید باشد: مثالی ساده ازبرنامه نویسی در متلب
آموزشهای ویدیویی
از پیج مهد درس:
- هر درسی لینک دانلود آن کار نکرد در بخش نظرات مطرح کنید تا سریعا مشکل رفع شود؛
- برای مشاهده بهتر ویدیوها در موبایل، گوشی را افقی نگه دارید. ضمنا لینک دانلود هر ویدیویی روی خود ویدیو قرار دارد. بهتر است وی پی ان روشن نباشد.
| درس 1
|
درس 2
|
| درس 3
|
درس 4
|
| درس5
|
درس 6
|
| درس7
|
درس8
|
| درس9
|
درس10
|
| درس11
|
درس12
|
| درس13
|
درس14
|
| درس15
|
درس16
|
| درس17
|
درس18
|
| درس19
|
درس20
|
| درس21
|
درس22
|
اشتباهات رایج افراد مبتدی
مهمترین اشتباهها عبارتاند از:
- حفظ دستورات بدون حل مسئله
- بیتوجهی به اندازه ماتریسها
- اشتباه گرفتن
*و.* - اشتباه گرفتن
/و./ - فراموشکردن
end - نامگذاری ضعیف متغیرها
- نوشتن همه کدها در Command Window
- استفاده زیاد از حلقه وقتی بردارسازی ممکن است
- کپی کد بدون فهم منطق آن
- توجه نکردن به پیام خطا
- نداشتن توضیح در کد
- یادگیری Simulink قبل از مبانی MATLAB
پروژه مناسب برای شروع
یک پروژه ساده تحلیل نمرات دانشجویان انجام دهید. دادهها:
scores = [12 15 18 10 20 16 14 17];سپس:
- میانگین را محاسبه کنید.
- کمترین و بیشترین نمره را پیدا کنید.
- تعداد افراد قبول را بشمارید.
- نمودار نمرات رسم کنید.
- با شرط، افراد مردود را مشخص کنید.
بعد از آن پروژههای مهندسی کوچک انجام دهید. مثلاً:
- محاسبه حرکت پرتابه
- رسم نمودار سینوس و کسینوس
- حل دستگاه معادلات
- تحلیل داده آزمایشگاهی
- شبیهسازی یک سیستم ساده
مسیر پیشنهادی یادگیری MATLAB
برای یک مبتدی:
محیط MATLAB
↓
متغیرها و عملیات ریاضی
↓
بردار و ماتریس
↓
شاخصگذاری
↓
عملیات عضو به عضو
↓
شرط و حلقه
↓
Script
↓
Function
↓
رسم نمودار
↓
خواندن و ذخیره داده
↓
حل معادلات
↓
کار با دادههای مهندسی
↓
Toolboxهای تخصصی
↓
Simulink
جمعبندی
برای یادگیری متلب نباید فقط دهها دستور را حفظ کنید.
منطق اصلی کار این است:
داده → محاسبه → تحلیل → نمودار → نتیجه
مهمترین مفاهیم ابتدایی که باید خوب یاد بگیرید عبارتاند از:
متغیر، بردار، ماتریس، شاخصگذاری، شرط، حلقه، تابع، نمودار و فایل داده.
از میان آنها، آرایه و ماتریس اهمیت ویژهای دارند؛ چون MATLAB اساساً برای انجام سریع عملیات عددی روی مجموعهای از دادهها ساخته شده است.
اگر بتوانید یک مجموعه داده را وارد کنید، روی آن محاسبات انجام دهید، از شرط و تابع استفاده کنید و نتیجه را به شکل نمودار نمایش دهید، بخش اصلی مبانی MATLAB را یاد گرفتهاید.
در مرحله بعد بهتر است بهجای مطالعه دستورات بیشتر، یک مسئله واقعی از رشته خود انتخاب کنید و آن را با متلب حل کنید. این کار بسیار مؤثرتر از حفظکردن صدها فرمان است.
یک کاربر خوب MATLAB کسی نیست که تعداد زیادی تابع را از حفظ باشد؛ بلکه کسی است که مسئله را به روابط ریاضی و مراحل محاسباتی تبدیل میکند و میداند چگونه برای هر مرحله از ابزار مناسب متلب استفاده کند. هرگونه سوال یا نظر یا تجربه ای در زمینه کار با نرم افزار متلب دارید در بخش نظرات با سریع آسان و سایر هموطنان به اشتراک بگذارید.


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