آموزش رسم نمودار در متلب (MATLAB) | انواع plot، scatter و نمودار سهبعدی با مثال کاربردی
آموزش رسم نمودار در متلب (MATLAB) | انواع plot، scatter و نمودار سهبعدی با مثال کاربردی
مقدمه: اهمیت رسم نمودار در MATLAB برای تحلیل داده
رسم نمودار در MATLAB یکی از پایهایترین و در عین حال قدرتمندترین ابزارهای تحلیل داده است. متلب با داشتن توابع گسترده در حوزه Visualizing، امکان نمایش رفتار دادهها، روندها، الگوها و روابط میان متغیرها را با بالاترین دقت فراهم میکند. در بسیاری از پروژههای دانشگاهی و صنعتی، قبل از هر تصمیمگیری، دادهها باید به کمک نمودارهای دوبعدی و سهبعدی بررسی شوند تا الگوهای پنهان، نقاط بحرانی و رفتار سیستم بهصورت دقیق مشخص شود.
MATLAB به دلیل سرعت بالا در پردازش و سادگی در تولید انواع نمودارها مانند plot، scatter، bar، stem، mesh و surf، به یک بستر استاندارد برای مهندسان، پژوهشگران، تحلیلگران داده و دانشجویان تبدیل شده است. استفاده از قابلیتهای گرافیکی متلب نه تنها باعث درک بهتر نتایج محاسبات میشود، بلکه امکان مستندسازی حرفهای، تولید خروجیهای با کیفیت برای مقالات و ارائههای علمی را نیز فراهم میکند.
در این پست قصد داریم روشهای مختلف رسم نمودار در متلب را بهصورت مرحلهبهمرحله بررسی کنیم تا بتوانید هر نوع دادهای را به بهترین شکل نمایش دهید و در پروژههای خود تحلیل دقیقتری انجام دهید. اگر در هر بخش نیاز به نمونهکد یا انجام پروژه رسم نمودار داشتید، میتوانید درخواست دهید تا متناسب با نیازتان ارائه شود.
انواع نمودار در متلب (Plot, Stem, Bar, Scatter, Pie و …)
MATLAB مجموعهای بسیار قدرتمند از توابع رسم نمودار را در اختیار کاربران قرار میدهد که امکان نمایش دادهها در قالبهای مختلف دوبعدی و سهبعدی را فراهم میکند. انتخاب نوع نمودار مناسب نقش مهمی در تحلیل صحیح دادهها و تفسیر نتایج دارد. در ادامه، پرکاربردترین انواع نمودار در متلب بهصورت کاربردی بررسی میشوند.
می شود گفت در اکثر پروژه ها ترسیم نمودار امری الزامیست و در انجام پروژه متلب باید این بخش را بخوبی با توجه به نیاز پیاده سازی کرد.
1. نمودار خطی در متلب (Plot)
نمودار خطی یا plot رایجترین نوع نمودار در MATLAB است و برای نمایش تغییرات یک متغیر نسبت به متغیر دیگر (معمولاً زمان) استفاده میشود. این نمودار در تحلیل سیگنالها، سیستمهای کنترلی، دادههای آزمایشگاهی و شبیهسازیها کاربرد فراوانی دارد.
کاربردها:
- نمایش روند تغییرات داده
- مقایسه چند سیگنال
- تحلیل رفتار دینامیکی سیستمها
2. نمودار ساقهای در متلب (Stem)
تابع stem برای نمایش دادههای گسسته استفاده میشود. این نوع نمودار بیشتر در درسها و پروژههای مرتبط با سیگنالهای دیجیتال، سیستمهای نمونهبرداریشده و تحلیل دادههای گسسته کاربرد دارد.
کاربردها:
- سیگنالهای گسسته
- نمایش نمونهها بهصورت مجزا
- تحلیل سیستمهای دیجیتال
3. نمودار ستونی در متلب (Bar)
نمودار ستونی یا bar برای مقایسه مقادیر مختلف بین دستههای متفاوت استفاده میشود. این نمودار در تحلیل آماری، مقایسه نتایج آزمایشها و گزارشهای عددی بسیار پرکاربرد است.
انواع نمودار ستونی:
- ستونی ساده
- ستونی گروهی
- ستونی انباشته (Stacked Bar)
کاربردها:
- مقایسه دادهها
- نمایش دادههای آماری
- تحلیل نتایج چند سناریو
4. نمودار پراکندگی در متلب (Scatter)
نمودار scatter برای نمایش توزیع دادهها و بررسی ارتباط بین دو متغیر استفاده میشود. این نمودار بهویژه در تحلیل داده، یادگیری ماشین و آمار اهمیت زیادی دارد.
کاربردها:
- بررسی همبستگی دادهها
- تشخیص الگوها و خوشهها
- شناسایی دادههای پرت (Outliers)
5. نمودار دایرهای در متلب (Pie)
تابع pie برای نمایش نسبت هر بخش از یک مجموعه نسبت به کل استفاده میشود. این نمودار بیشتر در گزارشهای مدیریتی، آماری و تحلیل سهمها کاربرد دارد.
کاربردها:
- نمایش درصدها
- تحلیل سهم نسبی دادهها
- ارائه نتایج بهصورت بصری و ساده
6. نمودار هیستوگرام در متلب (Histogram)
هیستوگرام یکی از ابزارهای مهم در تحلیل آماری است که توزیع دادهها را نمایش میدهد. این نمودار برای بررسی شکل توزیع، تمرکز دادهها و پراکندگی آنها استفاده میشود.
کاربردها:
- تحلیل توزیع آماری
- بررسی نرمال بودن دادهها
- تحلیل نویز و دادههای تصادفی
7. نمودار ناحیهای در متلب (Area)
نمودار area شبیه نمودار خطی است با این تفاوت که فضای زیر منحنی پر میشود. این نمودار برای نمایش تغییرات تجمعی دادهها کاربرد دارد.
8. نمودار سهبعدی در متلب (Plot3, Mesh, Surf)
MATLAB امکانات پیشرفتهای برای رسم نمودارهای سهبعدی ارائه میدهد:
plot3: نمایش دادههای سهبعدی خطیmesh: نمایش سطح مشبندی شدهsurf: نمایش سطح رنگی برای تحلیل توابع دوبعدی
کاربردها:
- تحلیل توابع دوبعدی
- نمایش سطوح و میدانها
- شبیهسازیهای مهندسی و علمی
9. سایر نمودارهای پرکاربرد در MATLAB
stairsبرای دادههای پلهایerrorbarبرای نمایش خطای اندازهگیریpolarplotبرای نمودارهای قطبیboxplotبرای تحلیل آماری و مقایسه دادهها
شناخت انواع نمودار در متلب به شما کمک میکند تا متناسب با نوع داده و هدف تحلیل، بهترین روش نمایش را انتخاب کنید. استفاده صحیح از توابع رسم نمودار در MATLAB نقش کلیدی در تحلیل دادهها، پروژههای دانشگاهی، مقالات علمی و گزارشهای صنعتی دارد. در ادامه این آموزش، نحوه رسم هر نمودار بههمراه مثالهای عملی و کدنویسی متلب بررسی خواهد شد.
نحوه رسم نمودار ساده در متلب (plot)
سادهترین و پرکاربردترین روش رسم نمودار در MATLAB استفاده از تابع plot است. این تابع برای نمایش رابطه بین دو متغیر، بررسی روند تغییرات داده و تحلیل رفتار سیستمها بهطور گسترده در پروژههای مهندسی، آماری و علمی استفاده میشود. تقریباً در تمام پروژههای متلب، اولین گام تحلیل دادهها، رسم نمودار با دستور plot است.
1. رسم نمودار با یک بردار داده
اگر فقط یک بردار به تابع plot بدهید، متلب بهصورت خودکار اندیس دادهها را بهعنوان محور افقی در نظر میگیرد.
y = [1 4 6 3 8 10];
plot(y)
grid on
شکل خروجی:

2. رسم نمودار با محور x و y مشخص
رایجترین حالت استفاده از plot زمانی است که هر دو بردار x و y مشخص باشند.
x = 0:0.1:10;
y = sin(x);
plot(x, y)
grid on
شکل خروجی:

کاربردها:
- نمایش سیگنالها
- تحلیل توابع ریاضی
- بررسی پاسخ سیستمها
3. افزودن عنوان و برچسب محورها در متلب
برای حرفهای شدن نمودار، حتماً باید عنوان و برچسب محورها مشخص باشند. در مثال زیر برای محور x و y نام را مشخص می کنیم و همچنین یک عنوان برای نمودار نیز تعیین می کنیم.
x = 0:0.1:10;
y = cos(x);
plot(x, y)
xlabel('x')
ylabel('cos(x)')
title('نمودار تابع کسینوس')
grid on
نکته حرفهای:
نموداری بدون عنوان و برچسب، از نظر گزارش علمی ناقص محسوب میشود.
xlabel برای نام گذاری محور ایکس بر روی نمودار
ylabel برای نام گذاری محور ایگرگ بر روی نمودار
title برای نام گذاری عنوان نمودار در متلب
نمودار خروجی به صورت زیر است:

4. تغییر رنگ، ضخامت و استایل خط
میتوانید ظاهر نمودار را کاملاً کنترل کنید.
x = 0:0.1:10;
y = sin(x);
plot(x, y, 'r--', 'LineWidth', 2)
grid on
توضیح:
'r'رنگ قرمز'--'خط چین'LineWidth'ضخامت خط
خروجی کد به صورت زیر است:

انواع رنگها و استایل خطوط در رسم نمودار متلب (LineSpec)
در MATLAB ظاهر نمودار با استفاده از Line Specification یا بهاختصار LineSpec کنترل میشود. LineSpec ترکیبی از رنگ خط، نوع خط و نوع نشانگر (Marker) است که بهصورت دستوری در تابع plot مشخص میشود.
ساختار کلی دستور:
plot(x, y, 'LineSpec')
یا بهصورت پیشرفتهتر:
plot(x, y, 'LineSpec', 'LineWidth', مقدار)
1. رنگهای پیشفرض خطوط در متلب
MATLAB برای تعیین رنگ خط از حروف اختصاری استفاده میکند:
| کد رنگ | رنگ |
|---|---|
'r' |
قرمز (Red) |
'g' |
سبز (Green) |
'b' |
آبی (Blue) |
'c' |
فیروزهای (Cyan) |
'm' |
بنفش (Magenta) |
'y' |
زرد (Yellow) |
'k' |
مشکی (Black) |
'w' |
سفید (White) |
مثال:
x = 0:0.1:10;
y = sin(x);
plot(x, y, 'r')
grid on
با اجرای این کد یک ن
2. انواع استایل خطوط در MATLAB
نوع خط مشخص میکند که نمودار بهصورت پیوسته، خطچین یا نقطهای رسم شود.
| کد خط | توضیح |
|---|---|
'-' |
خط پیوسته |
'--' |
خط چین |
':' |
خط نقطهای |
'-.' |
خط نقطه–چین |
مثال:
plot(x, y, 'b--')
grid on
با اجرای این کد یک نمودار سینوسی به صورت خط چین و رنگ آبی داریم.
3. انواع نشانگر (Marker) در رسم نمودار
Markerها نقاط داده را مشخص میکنند و برای دادههای گسسته بسیار مفید هستند.
| کد Marker | شکل |
|---|---|
'o' |
دایره |
'+' |
بعلاوه |
'*' |
ستاره |
'.' |
نقطه |
'x' |
ضربدر |
's' |
مربع |
'd' |
لوزی |
'^' |
مثلث بالا |
'v' |
مثلث پایین |
مثال:
plot(x, y, 'ro')
grid on
شکل خروجی به صورت زیر است:

4. ترکیب رنگ، خط و Marker
میتوان رنگ، نوع خط و Marker را همزمان تعریف کرد.
فرمت ترکیبی:
'r--o'
مثال:
plot(x, y, 'r--o', 'LineWidth', 2)
grid on
توضیح:
'r'رنگ قرمز'--'خط چین'o'نشانگر دایرهای
5. تنظیم ضخامت خط (LineWidth)
ضخامت خط تأثیر زیادی در خوانایی نمودار دارد.
plot(x, y, 'b-', 'LineWidth', 2.5)
grid on
نکته حرفهای:
برای گزارش و مقاله، مقدار LineWidth بین 1.5 تا 3 توصیه میشود.
6. تغییر رنگ Marker و اندازه آن
plot(x, y, 'ko', ...
'MarkerSize', 8, ...
'MarkerFaceColor', 'r')
grid on

7. استفاده از رنگهای سفارشی (RGB) در plot متلب
علاوه بر رنگهای پیشفرض، میتوان رنگ را بهصورت RGB تعریف کرد.
plot(x, y, 'Color', [0.2 0.6 0.8], 'LineWidth', 2)
grid on
فرمت RGB:
[Red Green Blue] → مقادیر بین 0 و 1
5. رسم چند نمودار با دستور plot
با یک دستور plot میتوان چند منحنی را همزمان رسم کرد.
x = 0:0.1:10;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, x, y2)
legend('sin(x)', 'cos(x)')
grid on
خروجی نمودار:

6. رسم چند نمودار با hold on
روش حرفهایتر برای کنترل هر منحنی استفاده از hold on است.
x = 0:0.1:10;
plot(x, sin(x), 'b', 'LineWidth', 2)
hold on
plot(x, cos(x), 'r', 'LineWidth', 2)
hold off
legend('sin(x)', 'cos(x)')
grid on
دستور hold on باعث می شود نمودار قبل و نمودار جدید بر روی هم ترسیم شوند.
این دستور در جاهایی که یک حلقه داریم و هر بار نقطه جدیدی باید به عنوان خروجی ترسیم شود کاربرد دارد و میتونید روند حل را به صورت نموداری دید.
7. تنظیم محدوده محورها (Axis)
برای تمرکز روی بخش خاصی از دادهها:
x = 0:0.1:10;
y = sin(x);
plot(x, y)
axis([0 10 -0.5 0.5])
grid on
نمودار خروجی:

فرمت:
axis([xmin xmax ymin ymax])
نکات حرفهای و کاربردی در رسم نمودار با plot
- همیشه از
grid onبرای خوانایی بهتر نمودار استفاده کنید. - برای گزارش، ضخامت خط (
LineWidth) را حداقل 1.5 در نظر بگیرید. - از
legendبرای نمودارهای چندمنحنی استفاده کنید. - نامگذاری مناسب محورها تأثیر مستقیم در کیفیت پروژه و مقاله دارد.
- قبل از رسم نمودار جدید، در صورت نیاز از
clfبرای پاککردن شکل قبلی استفاده کنید.
کاربرد plot در پروژههای MATLAB
دستور plot تقریباً در تمام پروژههای متلب کاربرد دارد، از جمله:
- تحلیل سیگنال و سیستم
- کنترل و شبیهسازی
- پردازش دادههای تجربی
- پروژههای آماری و یادگیری ماشین
رسم چند نمودار در یک شکل در متلب (hold on / subplot)
در بسیاری از پروژههای MATLAB لازم است چند نمودار بهصورت همزمان نمایش داده شوند؛ یا برای مقایسه چند سیگنال در یک محور مشترک، یا برای نمایش چند نمودار مجزا در یک پنجره. متلب برای این منظور دو روش اصلی ارائه میدهد:
استفاده از دستور hold on و استفاده از دستور subplot.
روش اول: رسم چند نمودار روی یک محور با hold on
دستور hold on چیست؟
دستور hold on به متلب میگوید که نمودار جدید را روی همان محور قبلی رسم کند و نمودار قبلی پاک نشود.
hold on
برای بازگشت به حالت پیشفرض از دستور زیر استفاده میشود:
hold off
مثال 1: رسم دو نمودار روی یک محور
x = 0:0.1:10;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'b', 'LineWidth', 2)
hold on
plot(x, y2, 'r--', 'LineWidth', 2)
hold off
legend('sin(x)', 'cos(x)')
xlabel('x')
ylabel('Amplitude')
title('مقایسه سینوس و کسینوس')
grid on
مقایسه دو نمودار با متلب را به صورت زیر نمایش می دهیم. یعنی با دستور hold on آنها را بر روی هم ترسیم می کنیم.

توضیح دستورات:
hold on→ حفظ نمودار قبلیhold off→ پایان رسم روی همان محورlegend→ نمایش راهنمای نمودارها (کادر بالا سمت راست نمودار)
مثال 2: رسم چند نمودار متوالی با کنترل کامل
x = 0:0.1:10;
plot(x, sin(x), 'k', 'LineWidth', 2)
hold on
plot(x, sin(2*x), 'g--', 'LineWidth', 2)
plot(x, sin(3*x), 'r:', 'LineWidth', 2)
hold off
legend('sin(x)', 'sin(2x)', 'sin(3x)')
grid on

کاربرد:
مقایسه پاسخ سیستمها، هارمونیکها و سیگنالهای چندفرکانسی
روش دوم: رسم چند نمودار مجزا با subplot
دستور subplot چیست؟
دستور subplot پنجره شکل را به چند بخش تقسیم میکند و در هر بخش یک نمودار جداگانه رسم میشود.
ساختار کلی:
subplot(m, n, p)
mتعداد ردیفهاnتعداد ستونهاpشماره ناحیه فعال
مثال 3: دو نمودار در یک ستون
x = 0:0.1:10;
subplot(2,1,1)
plot(x, sin(x), 'b', 'LineWidth', 2)
title('sin(x)')
grid on
subplot(2,1,2)
plot(x, cos(x), 'r', 'LineWidth', 2)
title('cos(x)')
grid on

مثال 4: چهار نمودار در یک پنجره (2×2)
x = 0:0.1:10;
subplot(2,2,1)
plot(x, sin(x))
title('sin(x)')
grid on
subplot(2,2,2)
plot(x, cos(x))
title('cos(x)')
grid on
subplot(2,2,3)
plot(x, tan(x))
title('tan(x)')
grid on
subplot(2,2,4)
plot(x, exp(-x))
title('exp(-x)')
grid on

تفاوت hold on و subplot
| ویژگی | hold on | subplot |
|---|---|---|
| تعداد محور | یک محور مشترک | چند محور مجزا |
| کاربرد | مقایسه مستقیم دادهها | نمایش جداگانه نمودارها |
| Legend | ضروری | معمولاً نیاز نیست |
| خوانایی | متوسط تا بالا | بسیار بالا |
مثال 5: رسم یک نمودار در بالا و دو نمودار در پایین با subplot
برای پیادهسازی این ساختار، پنجره شکل را به ۲ ردیف و ۲ ستون تقسیم میکنیم و سپس نمودار بالایی را روی هر دو ستون گسترش میدهیم.
ساختار کلی:
- subplot(2,2,[1 2]) → نمودار بالایی (سرتاسری)
- subplot(2,2,3) → پایین سمت چپ
- subplot(2,2,4) → پایین سمت راست
کد کامل و قابل اجرا در MATLAB
x = 0:0.1:10;
y1 = sin(x);
y2 = cos(x);
y3 = exp(-x);
% نمودار بالا (سرتاسری)
subplot(2,2,[1 2])
plot(x, y1, 'b', 'LineWidth', 2)
title('نمودار sin(x)')
ylabel('Amplitude')
grid on
% نمودار پایین سمت چپ
subplot(2,2,3)
plot(x, y2, 'r--', 'LineWidth', 2)
title('نمودار cos(x)')
xlabel('x')
ylabel('Amplitude')
grid on
% نمودار پایین سمت راست
subplot(2,2,4)
plot(x, y3, 'k', 'LineWidth', 2)
title('نمودار exp(-x)')
xlabel('x')
ylabel('Amplitude')
grid on

توضیح دستورات جدید
subplot(2,2,[1 2])
→ این دستور باعث میشود نمودار اول، هر دو ستون ردیف اول را اشغال کند.[1 2]
→ مشخص میکند که subplot شماره 1 و 2 بهصورت یک ناحیه ترکیب شوند.- سایر subplotها بهصورت معمولی در خانههای 3 و 4 رسم میشوند.
کاربردهای این نوع subplot
- نمایش سیگنال اصلی در بالا و مؤلفهها در پایین
- مقایسه خروجی کلی سیستم با پاسخهای جزئی
- گزارشهای تحلیلی و مقالات علمی
- پروژههای کنترل، سیگنال و پردازش داده
شخصیسازی نمودار در متلب: عنوان، برچسب محورها، Legend و Grid
پس از رسم نمودار با دستور plot، مهمترین مرحله، شخصیسازی نمودار است. نموداری که عنوان، برچسب محورها و راهنمای مناسب نداشته باشد، از نظر آموزشی و گزارش علمی ناقص محسوب میشود. در این بخش، چهار مؤلفه اصلی شخصیسازی نمودار در MATLAB بهصورت دقیق و مستقل آموزش داده میشوند.
1. افزودن عنوان به نمودار (title)
دستور title برای مشخصکردن عنوان نمودار استفاده میشود و موضوع کلی نمودار را به مخاطب منتقل میکند.
x = 0:0.1:10;
y = sin(x);
plot(x, y)
title('نمودار تابع سینوس')
grid on
نکات کاربردی:
- عنوان باید کوتاه، واضح و مرتبط با داده باشد.
- در گزارشها و پروژهها، نبود عنوان یک ایراد جدی محسوب میشود.
- برای نمودارهای مقایسهای، عنوان کلی انتخاب شود.
2. برچسبگذاری محور افقی و عمودی (xlabel و ylabel)
برچسب محورها مشخص میکند که هر محور چه کمیتی را نمایش میدهد.
plot(x, y)
xlabel('x')
ylabel('sin(x)')
grid on
نکات حرفهای:
- همیشه واحد اندازهگیری را در صورت وجود ذکر کنید.
- برچسبها خوانایی نمودار را بهشدت افزایش میدهند.
- در پروژههای مهندسی، نبود label باعث کاهش اعتبار نمودار میشود.
3. استفاده از Legend برای چند نمودار
زمانی که بیش از یک نمودار در یک محور رسم میشود، استفاده از legend ضروری است.
x = 0:0.1:10;
plot(x, sin(x))
hold on
plot(x, cos(x))
hold off
legend('sin(x)', 'cos(x)')
grid on
توضیح:
- ترتیب legend دقیقاً مطابق ترتیب رسم نمودارها است.
- legend به مخاطب کمک میکند بدون ابهام نمودارها را تشخیص دهد.
نکته کاربردی:
اگر فقط یک نمودار دارید، معمولاً نیازی به legend نیست.
4. فعالسازی شبکهبندی نمودار (grid)
دستور grid on شبکهای از خطوط افقی و عمودی روی نمودار ایجاد میکند که خواندن مقادیر را آسانتر میکند.
plot(x, y)
grid on
برای خاموش کردن شبکه:
grid off
مزایا:
- افزایش دقت در خواندن نمودار
- مناسب برای تحلیل داده و گزارش علمی
- بسیار مفید در نمودارهای مهندسی و کنترلی
مثال کامل از شخصیسازی استاندارد یک نمودار
x = 0:0.1:10;
y = exp(-x);
plot(x, y)
title('نمودار نمایی کاهشی')
xlabel('x')
ylabel('exp(-x)')
grid on
این نمودار از نظر:
- عنوان
- برچسب محورها
- خوانایی
کاملاً استاندارد و آماده استفاده در پروژه و گزارش است.
رسم نمودار سهبعدی در متلب (plot3، mesh، surf)
MATLAB ابزارهای قدرتمندی برای نمایش دادهها و توابع سهبعدی در اختیار کاربران قرار میدهد. نمودارهای سهبعدی نقش مهمی در تحلیل توابع دوبعدی، نمایش سطوح، بررسی میدانها و شبیهسازی سیستمهای مهندسی دارند. سه دستور اصلی برای رسم نمودار سهبعدی در متلب عبارتاند از: plot3، mesh و surf.
1. رسم نمودار خطی سهبعدی با plot3
دستور plot3 برای رسم منحنی سهبعدی بر اساس سه بردار x، y و z استفاده میشود.
ساختار کلی
plot3(x, y, z)
مثال ساده
t = 0:0.1:10;
x = cos(t);
y = sin(t);
z = t;
plot3(x, y, z, 'LineWidth', 2)
grid on
xlabel('x')
ylabel('y')
zlabel('z')
title('منحنی سهبعدی مارپیچی')

کاربردها:
- نمایش مسیر حرکت در فضا
- تحلیل سیستمهای دینامیکی
- شبیهسازی حرکت و trajectory
2. رسم سطح مشبندی شده با mesh
دستور mesh برای رسم سطح سهبعدی سیمی (Wireframe) استفاده میشود. این نمودار ساختار کلی سطح را بدون پر کردن رنگ نمایش میدهد.
ساختار کلی
mesh(X, Y, Z)
مثال کاربردی
[x, y] = meshgrid(-5:0.5:5);
z = x.^2 + y.^2;
mesh(x, y, z)
xlabel('x')
ylabel('y')
zlabel('z')
title('نمودار mesh از تابع z = x^2 + y^2')
grid on

ویژگیها:
- نمایش ساختار هندسی سطح
- مناسب برای بررسی شکل کلی تابع
- خوانایی بالا در تحلیل اولیه
3. رسم سطح رنگی سهبعدی با surf
دستور surf برای رسم سطح سهبعدی رنگی استفاده میشود و اطلاعات بیشتری نسبت به mesh نمایش میدهد.
ساختار کلی
surf(X, Y, Z)
مثال کامل
[x, y] = meshgrid(-5:0.2:5);
z = sin(sqrt(x.^2 + y.^2));
surf(x, y, z)
xlabel('x')
ylabel('y')
zlabel('z')
title('نمودار surf از تابع موجی')
grid on

مزایا:
- نمایش شدت تغییرات با رنگ
- بسیار مناسب برای تحلیل عددی و تصویری
- کاربرد گسترده در مهندسی و علوم
4. تفاوت mesh و surf
| ویژگی | mesh | surf |
|---|---|---|
| نوع نمایش | سیمی | سطح رنگی |
| وضوح بصری | متوسط | بالا |
| تحلیل عددی | مناسب | بسیار مناسب |
| حجم اطلاعات | کمتر | بیشتر |
5. تنظیم زاویه دید نمودار سهبعدی
برای تغییر زاویه دید از دستور view استفاده میشود.
view(45, 30)
- مقدار اول: زاویه افقی
- مقدار دوم: زاویه عمودی
نکته:
انتخاب زاویه مناسب، تأثیر زیادی در درک صحیح نمودار سهبعدی دارد.
6. افزودن نوار رنگ (Colorbar)
برای نمودارهای surf میتوان نوار رنگ اضافه کرد.
colorbar
این نوار مقدار عددی رنگها را نمایش میدهد و تحلیل داده را دقیقتر میکند.
ذخیرهسازی نمودار با کیفیت بالا در متلب (saveas, exportgraphics)
پس از رسم و شخصیسازی نمودار در MATLAB، مرحله بسیار مهم بعدی ذخیرهسازی نمودار با کیفیت مناسب برای استفاده در گزارش، مقاله، سایت یا ارائه است. انتخاب روش صحیح ذخیرهسازی تأثیر مستقیم بر وضوح تصویر، کیفیت چاپ و حرفهای بودن خروجی دارد. متلب برای این منظور دو دستور اصلی ارائه میدهد: saveas و exportgraphics.
1. ذخیره نمودار با دستور saveas
دستور saveas سادهترین روش برای ذخیره نمودار است و خروجی را دقیقاً مشابه آنچه روی صفحه دیده میشود ذخیره میکند.
ساختار کلی
saveas(gcf, 'filename.format')
gcf→ اشاره به شکل فعال (current figure)format→ فرمت فایل خروجی
مثال ذخیره بهصورت PNG
x = 0:0.1:10;
y = sin(x);
plot(x, y)
grid on
saveas(gcf, 'sin_plot.png')
فرمتهای رایج:
- PNG
- JPG
- FIG (فرمت قابل ویرایش متلب)
2. محدودیتهای saveas
با وجود سادگی، saveas کنترل دقیقی روی وضوح (Resolution) و کیفیت خروجی ندارد. برای کارهای حرفهای مانند مقاله و چاپ، روش پیشرفتهتری توصیه میشود.
3. ذخیره حرفهای با exportgraphics (روش پیشنهادی)
دستور exportgraphics از نسخههای جدید MATLAB معرفی شده و کنترل کامل روی کیفیت خروجی را فراهم میکند.
ساختار کلی
exportgraphics(gcf, 'filename.format', 'Resolution', مقدار)
مثال ذخیره با کیفیت بالا
x = 0:0.1:10;
y = cos(x);
plot(x, y)
grid on
exportgraphics(gcf, 'cos_plot.png', 'Resolution', 300)
توضیح:
- مقدار
300dpi برای چاپ و مقاله کاملاً استاندارد است.
4. ذخیره خروجی PDF با کیفیت بالا
exportgraphics(gcf, 'plot_output.pdf', 'ContentType', 'vector')
مزیت:
خروجی برداری (Vector) بدون افت کیفیت در بزرگنمایی
5. ذخیره فقط یک محور (Axes) بهجای کل Figure
در صورت نیاز میتوان فقط یک محور خاص را ذخیره کرد:
ax = gca;
exportgraphics(ax, 'axes_plot.png', 'Resolution', 300)
6. تنظیم اندازه شکل قبل از ذخیره
برای کنترل ابعاد خروجی:
set(gcf, 'Position', [100 100 800 600])
سپس ذخیره:
exportgraphics(gcf, 'final_plot.png', 'Resolution', 300)
توضیح کامل دستور set(gcf, ‘Position’, …)
این دستور برای تنظیم موقعیت و اندازه پنجره شکل (Figure) در MATLAB استفاده میشود. کنترل صحیح این پارامتر، قبل از ذخیره نمودار، تأثیر مستقیم بر ابعاد تصویر خروجی، نسبت طول به عرض و کیفیت نهایی دارد.
اجزای دستور بهصورت جزءبهجزء
ساختار کلی:
set(figure_handle, 'Position', [left bottom width height])
در دستور شما:
set(gcf, 'Position', [100 100 800 600])
توضیح هر عدد:
| مقدار | توضیح |
|---|---|
100 |
فاصله پنجره از لبه چپ صفحه (pixel) |
100 |
فاصله پنجره از پایین صفحه (pixel) |
800 |
عرض پنجره شکل (Width) |
600 |
ارتفاع پنجره شکل (Height) |
بنابراین:
- پنجره شکل 100 پیکسل از سمت چپ
- و 100 پیکسل از پایین صفحه قرار میگیرد
- با عرض 800 و ارتفاع 600 پیکسل
چرا تنظیم Position مهم است؟
اگر اندازه Figure مشخص نشود:
- متلب از اندازه پیشفرض استفاده میکند
- خروجی ذخیرهشده ممکن است کوچک، کشیده یا ناخوانا باشد
- فونتها و فاصلهها بهدرستی دیده نمیشوند
تنظیم Position باعث میشود:
- نسبت تصویر استاندارد شود
- خروجی برای سایت یا مقاله مناسب باشد
- نمودار حرفهایتر به نظر برسد
مثال کاربردی قبل از ذخیره نمودار
x = 0:0.1:10;
y = sin(x);
plot(x, y)
grid on
set(gcf, 'Position', [100 100 800 600])
exportgraphics(gcf, 'sin_plot.png', 'Resolution', 300)
در این حالت:
- ابتدا اندازه پنجره تنظیم میشود
- سپس تصویر با همان ابعاد و کیفیت بالا ذخیره میگردد
خطاهای رایج در رسم نمودار در متلب و راههای رفع آنها
در هنگام رسم نمودار در MATLAB، کاربران ممکن است با خطاهایی مواجه شوند که مانع نمایش صحیح نمودار یا باعث ایجاد خروجی نادرست شود. در این بخش، متداولترین خطاهای مربوط به رسم نمودار در متلب بههمراه روش رفع هر کدام بهصورت مستقیم بررسی شدهاند.
1. خطای نابرابر بودن طول بردارها
شرح خطا:
زمانی رخ میدهد که طول بردارهای ورودی به تابع plot با یکدیگر برابر نباشد.
پیام خطا:
Vectors must be the same length.
رفع خطا:
اندازه بردار x و y را بررسی کنید. باید اندازه آنها یکی باشد.
2. رسم ناخواسته چند نمودار روی هم
شرح خطا:
پس از استفاده از hold on، نمودارهای بعدی بدون پاک شدن نمودار قبلی رسم میشوند.
رفع خطا:
hold off
3. نمایش ناقص نمودار به دلیل تنظیم اشتباه subplot
شرح خطا:
استفاده از شماره ناحیه خارج از محدوده مجاز در دستور subplot باعث نمایش نادرست نمودار میشود.
نمونه خطا:
subplot(2,2,5)
رفع خطا:
subplot(2,2,4)
4. دیده نشدن بخشی از نمودار
شرح خطا:
به دلیل تنظیم نامناسب محدوده محورها، بخشی از دادهها خارج از محدوده نمایش قرار میگیرد.
رفع خطا:
axis tight
یا:
axis([xmin xmax ymin ymax])
5. عدم تشخیص نمودارها در رسم چند منحنی
شرح خطا:
در رسم چند نمودار روی یک محور، بدون استفاده از legend امکان تشخیص منحنیها وجود ندارد.
رفع خطا:
legend('نمودار اول', 'نمودار دوم')
6. نمایش اشتباه رنگ، خط یا Marker
شرح خطا:
استفاده نادرست از LineSpec باعث میشود نمودار برخلاف انتظار نمایش داده شود یا اصلاً دیده نشود.
نمونه خطا:
plot(x, y, 'rr')
رفع خطا:
plot(x, y, 'r--')
7. ذخیره نشدن صحیح نمودار
شرح خطا:
پس از اجرای دستور ذخیرهسازی، فایل خروجی ایجاد نمیشود یا خالی است.
رفع خطا:
saveas(gcf, 'plot.png')
یا:
exportgraphics(gcf, 'plot.png')
8. باز شدن چندین پنجره شکل ناخواسته
شرح خطا:
در اجرای پشتسرهم کدها، چند Figure بدون نیاز ایجاد میشود.
رفع خطا:
figure(1)
clf
در ادامه یک بخش جمعبندی و CTA کاملاً حرفهای، رسمی و هماهنگ با محتوای صفحه ارائه میشود که میتوانید مستقیماً در انتهای مطلب منتشر کنید.
جمعبندی و پیشنهاد انجام پروژه رسم نمودار و تحلیل داده در MATLAB
رسم نمودار در MATLAB یکی از اصلیترین مراحل تحلیل داده و تفسیر نتایج در پروژههای مهندسی، علمی و پژوهشی است. انتخاب نوع نمودار مناسب، نمایش صحیح دادهها و رفع خطاهای رایج در فرآیند رسم نمودار، تأثیر مستقیمی بر دقت تحلیل و کیفیت خروجی نهایی دارد. بسیاری از تصمیمگیریهای فنی و علمی بر پایه نمودارهایی انجام میشوند که بهدرستی رسم و تفسیر شدهاند.
در پروژهها، صرفاً رسم نمودار کافی نیست؛ بلکه دادهها باید بهگونهای نمایش داده شوند که رفتار سیستم، روند تغییرات و روابط بین متغیرها بهصورت شفاف قابل تحلیل باشد. استفاده صحیح از ابزارهای گرافیکی MATLAB این امکان را فراهم میکند که نتایج محاسبات به شکل دقیق، قابل فهم و قابل استناد ارائه شوند.
پیشنهاد انجام پروژه رسم نمودار و تحلیل داده در MATLAB
اگر در انجام پروژههای MATLAB، رسم نمودارهای حرفهای، تحلیل دادههای عددی یا آمادهسازی خروجی مناسب برای گزارش و مقاله با محدودیت زمانی یا فنی مواجه هستید، میتوانید اجرای پروژه خود را بهصورت کامل یا مرحلهای برونسپاری کنید.
خدمات قابل ارائه شامل:
- انجام پروژه رسم نمودار در MATLAB
- تحلیل دادههای عددی و تجربی
- پیادهسازی نمودارهای دوبعدی و سهبعدی
- آمادهسازی خروجی استاندارد برای گزارش، مقاله و ارائه
- اصلاح و بهینهسازی کدهای موجود MATLAB
با ثبت درخواست پروژه، تحلیل مسئله متناسب با نیاز شما انجام میشود و خروجی نهایی بهصورت قابل اجرا و مستند تحویل داده خواهد شد.
در صورت تمایل، میتوانید از طریق صفحه «درخواست پروژه متلب» جزئیات پروژه خود را ارسال کنید تا بررسی و زمانبندی مناسب برای اجرا اعلام شود.
اگر سوالی یا ابهامی در مورد رسم نمودار با متلب دارید, میتوانید در بخش دیدگاه های همین پست با ما در میان بگذارید.




دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.