ترسیم انواع نمودار در متلب
رسم نمودار دوبعدی و سه بعدی در متلب، برای بیشتر رشتههای علوم محض و علوم مهندسی از اهمیت بالایی برخوردار است. با استفاده از نمودارهای دو بعدی میتوان تاثیرات متغیرهای مستقل را روی توابع به شکل گرافیکی بررسی کرد. به همین علت در این مقاله قصد داریم نحوه ترسیم نمودارها را در متلب بررسی کنیم.
ترسیم انواع نمودار در متلب
در نرم افزار متلب نمودارهای مختلفی وجود دارد که این نمودارها شامل؛
- نمودارهای خطی: شامل نمودارهای دو بعدی، سه بعدی، لگاریتمی و رسم آسان معادلات
- نمودارهای سطح: شامل نمودار مساحت، دایره ای، دایره ای سه بعدی، میله ای، میله ای افقی، میله سه بعدی و هیستوگرام
- نمودارهای گسسته: پله ای، استم، اسکتر، اسپی
- نمودار قطبی
- نمودارهای کانتور: کانتور، کانتور پُر شده، کانتور سه بعدی، کانتور آسان
- صفحه و رویه (Surface)
- مِش (Mesh)
انجام پروژه متلب با بهترین هزینه
رسم نمودار دو بعدی در متلب با plot
رایجترین دستور متلب برای رسم نمودار خطی، دستور plot میباشد. plot(x,y) دادههای y را برحسب دادههای x ترسیم میکند. برای رسم نقاط y برحسب نقاط x حتما باید دارای طول برابر باشند. در نوشتار plot (x,y, LineSpec)، جزئیات رسم نمودار هستند. ابتدا با رسم یک نمودار ساده شروع میکنیم.
برای مثال؛ نمودار تابع سینوس را در بازه 0 تا 2پی ترسیم میکنیم. سپس، یک بردار شامل نقاط x و یک بردار شامل نقاط تابع سینوس ایجاد میکنیم. پس از آن از plot(x,y) برای رسم استفاده میکنیم.
x = 0:0.01:2*pi;
y = sin(x);
plot(x,y)
دستور plot میتواند به عنوان ورودی چند نمودار را ترسیم کند. مثلا برای رسم دو نمودار، از نوشتار plot(x1,y1,x2,y2) استفاده میشود. البته برای داشتن نمودار خواناتر، بهتر است که بازه x1 و x2 با یکدیگر برابر باشد.
x = 0:0.01:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x,y1,x,y2)
همانطور که مشاهده کردید، رسم نمودار در متلب کار سختی نیست و تنها نکته مهم توجه به برابر بودن x و y است. در صورتی که دادههای دستور plot ماتریس باشند، متلب هر ستون از ماتریس را به عنوان یک داده درنظر میگیرد. مثلا اگر ماتریس جادویی 4 در 4 را رسم کنیم، با تصویر زیر مواجه خواهیم بود.
y = magic(4);
plot(y)
رسم آسان نمودار با ezplot یا fplot در متلب
دستور ezplot و یا fplot برای ترسیم آسان نمودار مورد استفاده قرار میگیرند. با استفاده از این دستورات کافیست فرمول تابع را بنویسید و بازه رسم را مشخص کنید. ezplot(fun,[xmin,xmax]) تابع fun را در بازه xmin تا xmax رسم میکند. البته وارد کردن بازه، لزومی ندارد. تابع نیز به صورت رشته متنی درون کوتیشن نوشته میشود. اما در نسخههای جدید متلب، پیشنهاد میشود که از fplot بجای ezplot استفاده کنید. fplot(f,xinterval) نیز تابع f را در بازه xinterval رسم میکند. تابع f در دستور fplot باید به شکل فانکشن هندل (مثلا @x) یا نمادین (symbolic) باشد. برای درک بهتر، به مثالهای زیر دقت کنید.
fplot(@(x) tan(x))
ezplot(‘x^2*sin(x)’)
توجه کنید که @x ابتدای تابع، به معنای این است که این عبارت تابعی از x است.
مطلب پیشنهادی: الگوریتم میگو در متلب
رسم دو نمودار روی هم با hold on
برای رسم چند نمودار روی هم در یک شکل، میتوان از hold on استفاده کرد. در این روش، پس از رسم اولین نمودار، دستور hold on را میزنیم. هر نمودار دیگری که رسم شود، روی نمودار اولیه خواهد بود. اگر همهی نمودارهایی که میخواهیم رسم کنیم، مشخص باشند، در همان ابتدا با یک دستور plot رسم میشوند. اما فرض کنید درون حلقهی تکرار محاسباتی انجام شده و نمودار آپدیت میشود. در این صورت فقط از hold on میتوان استفاده کرد. مثلا برای ترسیم نمودار سینوس x و سینوس 2x دو راه داریم:
- روش اول: استفاده از دستور plot و رسم یکباره هر دو نمودار
- روش دوم: استفاده از دستور plot برای تابع سینوس، hold on، رسم تابع سینوس 2x
در نظر داشته باشید نتیجه در هر دو حالت یکسان است.
x = 0:0.01:2*pi;
y1 = sin(x);
y2 = sin(2*x);
plot(x,y1)
hold on
plot(x,y2)
x = 0:0.01:2*pi;
y1 = sin(x);
y2 = sin(2*x);
plot(x,y1,x,y2)
حال فرض کنید میخواهیم تابع f=x را برای توانهای یک تا 5، در بازه صفر تا 1.2 ترسیم میکنیم. ضخامت خطوط نمودار نیز برابر با 1.25 باشد. برای رسم از حلقه for کمک میگیریم. به این صورت که تابع f با هر تکرار از حلقه محاسبه میگردد. در این حالت، تابع f پس از محاسبه، با دستور plot رسم میشود. سپس hold on کرده و مابقی نمودارها رسم میشود.
x = 0:0.05:1.2;
for i = 1:5
f = x.^i;
plot(x,f,’linewidth’,1.25)
hold on
end
رسم نمودار بالا بدون استفاده از حلقه for و دستور hold on نیز میشود، اما روندی طولانی خواهد داشت. پس کاربرد اصلی دستور hold on دیده میشود. اگر بخواهیم رسم شدن روی نمودار قبلی غیرفعال شود، از دستور hold off استفاده میکنیم.
مطلب پیشنهادی: زنجیره مارکوف در نرم افزار متلب
رسم نمودار سه بعدی در متلب
برای ترسیم خط در فضای سه بعدی در متلب از دستور plot3 میتوان استفاده کرد. طرز استفاده از دستور plot3 کاملا مشابه دستور plot است، فقط شامل یک ورودی بیشتر میشود. نوشتار (سینتکس) دستور plot3 به صورت plot3(X1,Y1,Z1,LineSpec,…) است. x1,y1,z1 دادهها و LineSpec ویژگی خطوط است. به مثال زیر دقت کنید.
x = 0:0.05:10*pi;
y = sin(x);
z = cos(x);
plot3(x,y,z,’-.’,’linewidth’,1.4)
در این نمونه، بازه x از صفر تا 10پی است. دادههای محور y و z نیز سینوس و کسینوس x میباشند. نوع خط به صورت نقطه-خط و ضخامت آن 1.4 درنظر گرفته شده است. رسم این شکل منجر به تشکیل یک فنر افقی میشود.
مطلب پیشنهادی: رگرسیون خطی چیست؟
رسم نمودار میلهای در متلب
نمودار میله ای نقاط را برحسب مقدارشان کنار هم با یک میله ترسیم میکند. ارتفاع هر میله به مقدار ارتفاع (مقدار) هر نقطه بستگی دارد. نمودارهای میلهای برای درک بهتر و سریعتر در برخی از انواع داده کمک میکنند. مثلا قیمت سهام نوعی نمودار میله ای است. برای رسم نمودار میله ای در متلب به صورت دو بعدی از دستور bar استفاده میشود. دستور bar(y) یک نمودار میله ای برای دادههای y رسم میکند. در واقع به هریک از اعضای y یک میله اختصاص میدهد.
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y)
در این نمودار اعداد محور افقی x به طور پیشفرض در نظر گرفته شدهاند. ولی میتوان مقادیر محور x را نیز به نمودار میله ای اختصاص داد. به مثال زیر دقت کنید.
x = 1900:10:2000;
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(x,y)
ترسیم نمودار قطبی در متلب
قبل از آشنایی با نحوه ترسیم نمودار قطبی در متلب بهتر است با دستگاه مختصات قطبی آشنا شوید. دستگاه مختصات قطبی از دو محور زاویه و اندازه تشکیل شده و به محور اندازه r و به محور زاویه، تتا گفته میشود. جهت مثبت محور r در جهت افزایش آن، از مبدا به بیرون است و جهت مثبت محور زاویه تتا نیز جهت پادساعتگرد است.
برای ترسیم نمودار در دستگاه مختصات قطبی، معمولا رابطه r برحسب تتا در نظر گرفته میشود. رسم نمودار قطبی در متلب با دستورهای polarplot و polar انجام میشود. برای ترسیم نمودار قطبی از دستور polarplot به شکل زیر میتوانید استفاده کنید. توجه داشته باشید اگر از نسخههای قدیمیتر از 2016 استفاده میکنید، polar بهترین گزینه است و زاویه تتا باید بر حسب رادیان باشد. اگر زاویه انتخابی شما بر حسب درجه است، قبل از ترسیم نمودار آن را به رادیان تبدیل کنید. برای تبدیل زاویه از دستور deg2rad استفاده کنید.
theta = 0:0.01:2*pi;
r = sin(2*theta).*cos(2*theta);
polarplot(theta,r)
ترسیم نمودار دایرهای در متلب
برای ترسیم نمودار دایرهای در متلب میتوان از دستور pie3 استفاده کرد. نحوه استفاده از این دستور همانند دستور pie است. با این تفاوت که نمایش این نمودار به صورت سه بعدی است. برای رسم نمودار دایرهای به مثال زیر توجه کنید.
x = [20 28 37 15];
pie3(x)
همچنین اگر قصد ترسیم یک نمودار دایرهای را دارید که قسمتی از آن جدا شده باشد، میتوانید از مثال زیر کمک بگیرید.
x = [12 48 31 27];
explode = [0 0 1 0];
pie3(x,explode)
title(‘3d-Pie Chart in Matlab’);
leg = {‘part1′,’part2′,’part3′,’part4’};
legend(leg,’Location’,’southoutside’,’Orientation’,’horizontal’)
رسم کانتور در متلب
کانتور به معنی نقش برجسته میباشد و در رشتههای مهندسی و کارهای ترسیمی کاربرد زیادی دارد. در کانتور با استفاده از تغییر رنگ، ارتفاع نمودار و خطوط این برجستگیها نمایش داده میشود. در متلب نیز برای ترسیم کانتور از دستور contour استفاده میشود. برای ترسیم از دستور زیر میتوانید استفاده کنید.
x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
contour(X,Y,Z)
در این کد از دستور meshgrid برای شبکه بندی دادههای x و y استفاده شده است. شبکه بندی برای رسم نمودار سه بعدی مهم است. برای اینکه کانتور رسم شده برای شما قابل درکتر باشد، نمودار سه بعدی آن را به همراه کانتور رسم میکنیم.
x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X) + cos(Y);
surfc(X,Y,Z)
تنظیماتهای مهم در نمودار متلب
عنوان نمودار در متلب
برای افزودن عنوان به نمودار از دستور title باید استفاده کنید. نحوه استفاده از این دستور بصورت title(‘text’) است که در آن ‘text’ متن عنوان میباشد.
نوع فونت در نمودار متلب
در متلب امکان تعیین فونت دلخواه وجود دارد. FontName’ درون دستور title، دستور text، دستورات xlabel و ylabel و هر دستوری که با متن سروکار داشته باشد میآید. بعد از عبارت ‘FontName’ یک کاما (,) قرار داده و نام فونت را درون کوتیشن باید بنویسید.
اندازه فونت متن در نمودار متلب
برای تعیین اندازه متن در نمودار،باید از عبارت ‘FontSize’ استفاده کنید. پس از این عبارت باید کاما نوشته و سپس مقدار اندازه فونت (بصورت عدد اسکالر) درج شود.
نوشتن نماد ریاضی در متن نمودار متلب
نمادهای ریاضی در متلب دارای عبارات اختصاصی هستند. برای درج هر یک از نمادهای ریاضی باید عبارت اختصاصی آن نماد را پس از \ بنویسید. برای مثال برای نوشتن رادیکال، باید از عبارت surd\ استفاده کنید.
مطلب پیشنهادی: ترکینگ در نرم افزار متلب
آیا با ترسیم نمودار در متلب آشنا بودید و این کار را انجام داده اید؟ نظرتان را بریمان بنویسید.
دیدگاه شما