نرمافزار متلب (MATLAB) یکی از پیشرفتهترین و کاملترین نرمافزارهای مهندسی برای رسم و تحلیل دادهها است. تابع plot در نرمافزار متلب، از جمله توابع قدرتمند موجود در این نرمافزار است که امکان رسم نمودارهای دو بعدی (2D) را فراهم میسازد. به کمک تابع plot، میتوان منحنی و یا مجموعهای از نقاط را با شکل ظاهری دلخواه ترسیم نمود. در این آموزش، سعی شدهاست به کمک مثالهای متنوع، تمام جزئیات مرتبط با تابع plot بیان شود.
فهرست مطالب
- 1 رسم منحنی با استفاده از تابع plot در نرمافزار متلب
- 2 ایجاد شبکه یا گرید (Grid) روی نمودار در نرمافزار متلب
- 3 نمایش عنوان برای نمودار در نرمافزار متلب
- 4 نمایش نام محورهای نمودار در نرمافزار متلب
- 5 تعیین دامنه محورهای نمودار در نرمافزار متلب
- 6 رسم چند نمودار در کنار یکدیگر در نرمافزار متلب
- 7 نمایش راهنما یا لجند (Legend) برای نمودار در نرمافزار متلب
- 8 تغییر رنگ نمودار در نرمافزار متلب
- 9 تغییر استایل منحنی نمودار در نرمافزار متلب
- 10 تغییر ضخامت منحنی نمودار در نرمافزار متلب
- 11 تغییر شکل، سایز و رنگ نقاط موجود روی منحنی نمودار در نرمافزار متلب
- 12 تغییر رنگ و استایل نمودار و شکل نقاط به صورت همزمان
- 13 رسم نقاط با استفاده از تابع plot در نرمافزار متلب
رسم منحنی با استفاده از تابع plot در نرمافزار متلب
تابع plot در سادهترین حالت، به صورت کد زیر نوشته میشود.
plot(X,Y)
در کد بالا، تابع plot تنها دو ورودی دارد که هر دو بردار هستند. ورودی اول که با نام X مشخص شدهاست، شامل مقادیر طول نقاط (محور افقی) و ورودی دوم که با نام Y مشخص شدهاست، شامل مقادیر عرض نقاط (محور عمودی) است. تابع plot به کمک مقادیر طول و عرض نقاط، منحنی متناظر با آن را رسم میکند. باید توجه داشت که تعداد عناصر دو بردار X و Y باید برابر باشند؛ در غیر این صورت امکان رسم نمودار وجود نخواهد داشت. همچنین بردارهای X و Y میتوانند سطری و یا ستونی باشند. قابل ذکر است که لزوماً نیازی نیست نام بردارهای ورودی X و Y باشند و از هر نام دیگری میتوان برای این دو بردار استفاده نمود. همچنین میتوان مستقیماً بردارها را به جای نام آنها در تابع plot نوشت. به عنوان مثال، فرض کنید قصد داریم نمودار مجموعه نقاط زیر را رسم نمائیم.
P_1=\left[ \begin{array}{c}1\\2\\\end{array} \right] ,\,\,P_2=\left[ \begin{array}{c}2\\4\\\end{array} \right] ,\,\,P_3=\left[ \begin{array}{c}4\\6\\\end{array} \right] ,\,\,P_4=\left[ \begin{array}{c}8\\8\\\end{array} \right]
برای رسم منحنی نقاط بالا، کد زیر نوشته میشود که در آن، مقادیر طول نقاط در بردار X و مقادیر عرض نقاط در بردار Y قرار داده میشوند.
X=[1,2,4,8];
Y=[2,4,6,8];
plot(X,Y)
با اجرای کد بالا، منحنی نقاط مورد نظر به ضورت شکل 1 رسم میشود.
شکل 1 – منحنی رسم شده با استفاده از تابع plot نرمافزار متلب
با توجه به کم بودن تعداد نقاط، منحنی رسم شده در شکل 1 به صورت شکسته است. با افزایش تعداد نقاط و یا برازش منحنی به آنها، میتوان اثر شکستگی را کاهش داد. برای برازش منحنی (فیت کردن منحنی یا رگرسیون) میتوان از تابع polyfit استفاده کرد که به کمک آن، یک چند جملهای با درجه دلخواه به مجموعهای از نقاط برازش میشود.
برای رسم منحنی یک تابع ریاضیاتی، میتوان ابتدا یک بردار با تعداد عناصر دلخواه تعریف کرد؛ سپس مقدار تابع را به ازای تمام عناصر این بردار محاسبه کرده و در بردار دیگری ذخیره نمود. به کمک این دو بردار میتوان منحنی تابع ریاضیاتی مورد نظر را ترسیم کرد. به عنوان مثال، برای رسم تابع سینوس کد زیر نوشته میشود.
X=[0:0.01:6]; %X=[0,0.01,0.02,...,5.99,6]
Y=sin(X);
plot(X,Y)
در کد بالا، ابتدا بردار دلخواه X در بازه 0 تا 6 با گام 0.01 تعریف شده است. برای تعریف بردار X میتوان از تابع linspace موجود در نرمافزار متلب نیز استفاده کرد. با اجرای کد بالا، منحنی تابع سینوس مطابق شکل 2 رسم میشود. در شکل 2 به دلیل زیاد بودن تعداد نقاط، اثر شکستگی در نمودار قابل مشاهده نیست.
شکل 2 – رسم منحنی تابع سینوس با استفاده از تابع plot در نرمافزار متلب
ایجاد شبکه یا گرید (Grid) روی نمودار در نرمافزار متلب
برای رسم خطوط شبکه (Grid) روی نمودار ترسیم شده، تنها کافیست پس از تابع plot دستور grid on نوشته یا اجرا شود. به عنوان مثال اگر بخواهیم در شکل 2 خطوط شبکه نمایش داده شود، کد آن به صورت زیر نوشته میشود. با اجرای کد زیر، تابع سینوس مطابق شکل 3 به همراه خطوط شبکه رسم میشود.
X=[0:0.01:6]; %X=[0,0.01,0.02,...,5.99,6]
Y=sin(X);
plot(X,Y)
grid on
شکل 3 – رسم تابع سینوس به همراه خطوط شبکه
دستور grid on خطوط شبکه اصلی را که متناظر با هر عدد روی محورها است، نمایش میدهد. برای افزایش تعداد خطوط شبکه و نمایش خطوط شبکه فرعی، میتوان از دستور grid minor استفاده کرد. به عنوان مثال، با اجرای کد زیر، منحنی تابع سینوس به صورت شکل 4 رسم میشود که در آن خطوط شبکه فرعی نیز نمایش داده شدهاست.
X=[0:0.01:6]; %X=[0,0.01,0.02,...,5.99,6]
Y=sin(X);
plot(X,Y)
grid on
grid minor
شکل 4 – رسم تابع سینوس به همراه خطوط شبکه اصلی و فرعی
با اجرای دستور grid off خطوط شبکه اصلی و فرعی از نمودار حذف میشود.
نمایش عنوان برای نمودار در نرمافزار متلب
برای نمایش عنوان بالای نمودارهای رسم شده در نرمافزار متلب، میتوان از تابع title استفاده کرد. ورودی این تابع از جنس رشته (مجموعهای از کاراکترها) است و باید داخل ‘ ‘ نوشته شود. همچنین تابع title باید پس از تابع plot نوشته شده باشد؛ با این وجود، بین تابع plot و title میتواند توابع دیگری نیز آمده باشد. به عنوان مثال برای نمایش عبارت Force Diagram بالای نمودار سینوس، کد زیر نوشته میشود. با اجرای کد زیر، نمودار شکل 5 رسم میشود که عنوان آن Force Diagram است.
X=[0:0.01:6]; %X=[0,0.01,0.02,...,5.99,6]
Y=sin(X);
plot(X,Y)
title('Force Diagram')
grid on
شکل 5 – نمایش عنوان Force Diagram در بالای نمودار رسم شده
نمایش نام محورهای نمودار در نرمافزار متلب
تابع plot برای رسم نمودارهای دو بعدی (2D) با دو محور افقی (محور x) و عمودی (محور y) مورد استفاده قرار میگیرد. برای نمایش نام محورهای افقی و عمودی، به ترتیب از توابع xlabel و ylabel استفاده میشود. ورودی این توابع نیز از جنس رشته است و باید داخل ‘ ‘ نوشته شوند. این دو تابع نیز باید بعد از تابع plot نوشته و یا اجرا شوند. به عنوان مثال، اگر محور افقی زمان (بر حسب ثانیه) و محور عمودی نیرو (در واحد نیوتن) باشد، کد زیر نوشته میشود. با اجرای کد زیر، منحنی نیرو که یک تابع سینوسی است، مطابق شکل 6 رسم میشود که در آن، محور افقی زمان و محور عمودی نیرو را نمایش میدهد.
X=[0:0.01:6]; %X=[0,0.01,0.02,...,5.99,6]
Y=sin(X);
plot(X,Y)
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
grid on
شکل 6 – نمایش نام محورهای نمودار در نرمافزار متلب
تعیین دامنه محورهای نمودار در نرمافزار متلب
برای تعیین دامنه محور افقی (محور x) و محور عمودی (محور y) به ترتیب از توابع xlim و ylim استفاده میشود. ورودی این توابع یک بردار با دو درایه است که دامنه هر محور را تعیین میکند. به عنوان مثال، اگر بخواهیم دامنه محور افقی در بازه [-1,7] و دامنه محور عمودی در بازه [-2,1.2] باشد، کد زیر نوشته میشود. با اجرای کد زیر، نمودار شکل 7 حاصل میشود.
X=[0:0.01:6]; %X=[0,0.01,0.02,...,5.99,6]
Y=sin(X);
plot(X,Y)
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
xlim([-1,7]) %Or xlim([-1 7])
ylim([-2,1.2]) %Or ylim([-2 1.2])
grid on
شکل 7 – تغییر دامنه محورهای افقی و عمودی نمودار در نرمافزار متلب
رسم چند نمودار در کنار یکدیگر در نرمافزار متلب
دو روش برای رسم چند نمودار در کنار یکدیگر با استفاده از تابع plot وجود دارد. در روش اول، با یک بار اجرای تابع plot تمام نمودارها رسم میشود. در این روش، تابع plot به صورت زیر نوشته میشود.
plot(X1,Y1,X2,Y2,X3,Y3,…)
در کد بالا، X1 و Y1 برای نمودار اول، X2 و Y2 برای نمودار دوم و X3 و Y3 برای نمودار سوم است و منظور از سه نقطه، آن است که به هر تعداد میتوان نمودار را با یک تابع plot رسم کرد. در روش دوم، برای رسم هر نمودار، یک بار تابع plot اجرا میشود. در این روش، حتماً باید پس از اجرای اولین تابع plot دستور hold on اجرا شود تا هنگام رسم نمودارهای بعدی، نمودار قبلی از شکل حذف نشود. در این حالت، تابع plot به صورت زیر نوشته میشود.
plot(X1,Y1)
hold on
plot(X2,Y2)
plot(X3,Y3)
در کد بالا، با هر بار اجرای تابع plot یک نمودار رسم میشود و چون دستور hold on اجرا میشود، تمام نمودارها در یک شکل کنار یکدیگر قرار میگیرند. لازم به ذکر است تنها با یک بار اجرای دستور hold on، تمام نمودارها در یک شکل کنار یکدیگر قرار میگیرند و نیازی به تکرار آن نیست. برای غیرفعال کردن دستور hold on از دستور hold off استفاده میشود.
به عنوان مثال، برای رسم نمودار سه تابع سینوس، کسینوس و چندجملهای، کد زیر نوشته میشود که در آن، تنها یک بار تابع plot اجرا میشود. با اجرای کد زیر، سه نمودار مطابق شکل 8 رسم میشوند.
X1=[0:0.01:6]; %X1=[0,0.01,0.02,...,5.99,6]
Y1=sin(X1);
X2=[0:0.05:6];
Y2=1.5*cos(X2);
X3=[0:0.02:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1,X2,Y2,X3,Y3)
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
grid on
شکل 8 – رسم سه نمودار با یک بار اجرای تابع plot
با استفاده از کد زیر، هر نمودار به صورت جداگانه رسم میشوند. در شکل 9، نمودارهای رسم شده نمایش داده شدهاست.
X1=[0:0.01:6]; %X1=[0,0.01,0.02,…,5.99,6]
Y1=sin(X1);
X2=[0:0.05:6];
Y2=1.5*cos(X2);
X3=[0:0.02:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1)
hold on
plot(X2,Y2)
plot(X3,Y3)
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
grid on
شکل 9 – رسم سه نمودار به صورت جداگانه با استفاده از تابع plot
همانطور که در شکلهای 8 و 9 مشاهده میشود، هنگامی که هر سه نمودار با استفاده از یک تابع plot رسم میشوند، تابع plot به صورت خودکار به هر نمودار یک رنگ منحصر به فرد اختصاص میدهد؛ مادامی که نمودارها به صورت جداگانه رسم میشوند، تمام نمودارها همان رنگ پیشفرض را دارند که در یک شکل کنار یکدیگر قرار گرفتهاند.
نمایش راهنما یا لجند (Legend) برای نمودار در نرمافزار متلب
در صورتی که چند نمودار کنار یکدیگر رسم شده باشند، لازم است با استفاده از بخش راهنما، توضیحاتی برای هر نمودار نمایش داده شود تا تشخیص نمودارها از یکدیگر آسانتر شود. این کار با استفاده از تابع legend در نرمافزار متلب انجام میپذیرد. در حالت عادی، تعداد ورودیهای تابع legend برابر با تعداد نمودارها است. ورودیهای تابع legend از جنس رشته بوده و باید داخل ‘ ‘ قرار گیرند. تابع legend به ترتیب ورودیها را به نمودارهای رسم شده نسبت میدهد. به عنوان مثال، هنگامی که سه نمودار رسم شده باشد، تابع legend به صورت کد زیر نوشته میشود که نتیجه آن، در شکل 10 نمایش داده شدهاست.
X1=[0:0.01:6]; %X1=[0,0.01,0.02,...,5.99,6]
Y1=sin(X1);
X2=[0:0.05:6];
Y2=1.5*cos(X2);
X3=[0:0.02:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1,X2,Y2,X3,Y3)
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
شکل 10 – نمایش راهنما (Legend) برای نمودارهای رسم شده
برای تغییر مکان راهنمای نمودار، به سادگی میتوان آن را با ماوس گرفته و در مکان مطلوب رها کرد. در صورتی که نمودارها به صورت جداگانه رسم شده باشند، میتوان به همین صورت از تابع legend استفاده کرد؛ اما باید توجه داشت که رنگ و یا استایل نمودارها در تابع plot تغییر داده شوند تا از یکدیگر متمایز شوند. در ادامه نحوه تغییر رنگ و استایل نمودارها شرح داده خواهد شد.
تغییر رنگ نمودار در نرمافزار متلب
در تابع plot، امکان تغییر رنگ و استایل نمودارها وجود دارد. تابع plot میتواند ورودیهای متعددی داشته باشد که به کمک آنها میتوان رنگ و یا استایل نمودارها را به صورت دلخواه انتخاب کرد. برای تغییر رنگ نمودار، دو ورودی دیگر به تابع plot اضافه میشود. ورودی اول ‘Color’ است که تعیین میکند باید رنگ نمودار عوض شود و ورودی دوم، نام و یا کد RGB رنگ است. به صورت پیشفرض، چندین رنگ در نرمافزار متلب تعریف شدهاست که میتوان از نام کامل و یا مخفف آنها برای تغییر رنگ نمودار استفاده کرد. همچنین میتوان کد رنگ دلخواه را با ساختار RGB مستقیماً در تابع plot وارد کرد. قابل ذکر است هنگامی که از نام کامل و یا مخفف رنگهای پیشفرض نرمافزار متلب استفاده میشود، میتوان ورودی ‘Color’ را حذف کرد.
کد رنگ با ساختار RGB، یک بردار با سه درایه است که به ترتیب از چپ به راست میزان رنگ قرمز، سبز و آبی را مشخص میکند. مقادیر این درایهها در بازه [0,1] قرار دارد و میزان شدت سه رنگ قرمز، سبز و آبی را تعیین میکند. در جدول زیر، نام و کد رنگهای پیشفرض نرمافزار متلب آورده شدهاست.
نام رنگ | نام کامل | نام مخفف | بردار RGB | رنگ |
زرد | 'yellow' | 'y' | [1 1 0] | |
ارغوانی | 'magenta' | 'm' | [1 0 1] | |
فیروزهای | 'cyan' | 'c' | [0 1 1] | |
قرمز | 'red' | 'r' | [1 0 0] | |
سبز | 'green' | 'g' | [0 1 0] | |
آبی | 'blue' | 'b' | [0 0 1] | |
سفید | 'white' | 'w' | [1 1 1] | |
مشکی | 'black' | 'k' | [0 0 0] |
برای تغییر رنگ نمودار، تابع plot به یکی از صورتهای زیر نوشته میشود که نتیجه تمام آنها یکسان است.
plot(X,Y,'Color','red')
plot(X,Y,'red')
plot(X,Y,'Color','r')
plot(X,Y,'r')
plot(X,Y,'Color',[1 0 0]) %[R G B]: red=[1 0 0]
plot(X,Y,'Color',[1,0,0]) %[R,G,B]: red=[1,0,0]
اگر از تابع plot برای رسم چند نمودار استفاده شده باشد، میتوان از نام کامل و یا مخفف رنگهای پیشفرض نرمافزار متلب، برای تغییر رنگ نمودارها استفاده کرد. در این حالت، ورودی ‘Color’ نوشته نمیشود. به عنوان مثال، اگر بخواهیم نمودار اول با رنگ سبز، نمودار دوم با رنگ قرمز و نمودار سوم با رنگ مشکی رسم شود، تابع plot به صورت کد زیر نوشته میشود. با اجرای کد زیر، سه نمودار مطابق شکل 11 رسم میشوند.
X1=[0:0.01:6]; %X1=[0,0.01,0.02,...,5.99,6]
Y1=sin(X1);
X2=[0:0.05:6];
Y2=1.5*cos(X2);
X3=[0:0.02:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1,'green',X2,Y2,'r',X3,Y3,'k')
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
شکل 11 – رسم سه نمودار با رنگ دلخواه
همچنین برای رسم نمودارها مطابق شکل 11، میتوان از کد زیر استفاده کرد که در آن، سه نمودار به صورت جداگانه رسم میشوند.
X1=[0:0.01:6]; %X1=[0,0.01,0.02,…,5.99,6]
Y1=sin(X1);
X2=[0:0.05:6];
Y2=1.5*cos(X2);
X3=[0:0.02:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1,'green') %Or plot(X1,Y1,'Color','green')
hold on
plot(X2,Y2,'Color','r') %Or plot(X2,Y2,'r')
plot(X3,Y3,'Color',[0 0 0]) %[R G B]: Black=[0 0 0]
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
نکته: در صورتی که قرار باشد ورودیهای دیگری نیز به تابع plot اضافه شود (مانند ورودیهای مربوط به استایل منحنی، شکل نقاط و ... که در ادامه معرفی میشوند)، حتما باید ورودی ‘Color’ درج شود.
تغییر استایل منحنی نمودار در نرمافزار متلب
در نرمافزار متلب، میتوان نمودارها را با استایلهای مختلف رسم کرد. با تغییر استایل هر نمودار، میتوان به تشخیص بهتر هر یک از آنها کمک کرد. برای تغییر استایل هر نمودار، مانند تغییر رنگ، دو ورودی دیگر به تابع plot اضافه میشوند. ورودی اول ‘LineStyle’ است که مشخص میکند ورودی بعدی مربوط به استایل منحنی نمودار میشود. ورودی دوم که بلافاصله پس از ورودی ‘LineStyle’ میآید، استایل منحنی نمودار را مشخص میکند که میتواند خط پیوسته، خطچین، نقطهچین و یا نقطهخط باشد. ورودی دوم که نماد استایل مورد نظر است، از جنس رشته بوده و داخل ‘ ‘ قرار میگیرد. اگر ورودی دوم ‘none’ وارد شود، دیگر منحنی رسم نمیشود و تنها نقاطی که از آن برای رسم منحنی استفاده شدهاست، رسم میشوند. به عبارت دیگر، اگر ورودی دوم ‘none’ وارد شود، دیگر نقاط به یکدیگر متصل نمیشوند. در جدول زیر، استایلهای مختلف به همراه نمادشان معرفی شدهاند.
استایل منحنی | نماد |
خط پیوسته | '-' |
خطچین | '--' |
نقطهچین | ':' |
نقطهخط | '-.' |
به عنوان مثال، برای تغییر استایل سه نمودار که به صورت جداگانه رسم شدهاند، کد زیر نوشته میشود. با اجرای کد زیر، سه نمودار مطابق شکل 12 رسم میشوند.
X1=[0:0.01:6]; %X1=[0,0.01,0.02,…,5.99,6]
Y1=sin(X1);
X2=[0:0.05:6];
Y2=1.5*cos(X2);
X3=[0:0.02:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1,'Color','blue','LineStyle',':')
hold on
plot(X2,Y2,'Color','r','LineStyle','--')
plot(X3,Y3,'Color',[0 0 0],'LineStyle','-.')
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
شکل 12 – رسم نمودار با استایلهای مختلف
تغییر ضخامت منحنی نمودار در نرمافزار متلب
برای تغییر ضخامت منحنی نمودار، دو ورودی دیگر به تابع plot اضافه میشود. ورودی اول ‘LineWidth’ و ورودی دوم که بلافاصله پس از آن میآید، یک عدد است که میزان ضخامت منحنی را تعیین میکند. لازم به ذکر است ورودی دوم داخل ‘ ‘ قرار نمیگیرد و یک متغییر اسکالر است. به عنوان مثال، با استفاده از کد زیر، سه نمودار با ضخامتهای مختلف رسم میشود که نتیجه آن، در شکل 13 نمایش داده شدهاست.
X1=[0:0.01:6];
Y1=sin(X1);
X2=[0:0.05:6];
Y2=1.5*cos(X2);
X3=[0:0.02:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1,'Color','blue','LineStyle',':','LineWidth',2)
hold on
plot(X2,Y2,'Color','r','LineStyle','--','LineWidth',3)
plot(X3,Y3,'Color',[0 0 0],'LineStyle','-.','LineWidth',4)
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
شکل 13 – تغییر ضخامت منحنی نمودار در نرمافزار متلب
تغییر شکل، سایز و رنگ نقاط موجود روی منحنی نمودار در نرمافزار متلب
همان طور که در ابتدای این آموزش به آن اشاره شد، تابع plot، منحنی مورد نظر را با استفاده از تعدادی نقطه رسم میکند. این نقاط ممکن است دادههای مهمی باشند و دیدن آنها روی منحنی ضرورت داشته باشد. در حالت پیشفرض، این نقاط بسیار کوچک هستند. در نرمافزار متلب، امکان تغییر شکل، سایز و رنگ این نقاط وجود دارد.
تغییر شکل نقاط موجود روی منحنی نمودار
برای تغییر شکل نقاط موجود روی منحنی نمودار، دو ورودی دیگر به تابع plot اضافه میشود. ورودی اول ‘Marker’ و ورودی دوم که بلافاصله پس از آن میآید، نماد شکل مورد نظر است و در داخل ‘ ‘ قرار میگیرد. در جدول زیر، شکل نقاط و نماد هر یک از آنها معرفی شدهاست.
شکل نقاط | نماد |
دایره | 'o' |
علامت مثبت | '+' |
ستاره | '*' |
نقطه | '.' |
ضربدر | 'x' |
مربع | 'square' یا 's' |
لوزی | 'diamond' یا 'd' |
مثلث رو به بالا | '^' |
مثلث رو به پایین | 'v' |
مثلث به طرف راست | '>' |
مثلث به طرف چپ | '<' |
ستاره (با پنج گوشه) | 'pentagram' یا 'p' |
ستاره (با شش گوشه) | 'hexagram' یا 'h' |
بدون شکل | 'none' |
به عنوان مثال، اگر بخواهیم شکل نقاط موجود روی منحنی سه نمودار به ترتیب مربع، دایره و علامت مثبت باشد، کد زیر نوشته میشود. با اجرای کد زیر، سه نمودار مطابق شکل 14 رسم میشوند.
X1=[0:0.5:6];
Y1=sin(X1);
X2=[0:0.5:6];
Y2=1.5*cos(X2);
X3=[0:0.5:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1,'Color','blue','LineStyle',':','LineWidth',2,'Marker','s')
hold on
plot(X2,Y2,'Color','r','LineStyle','--','LineWidth',2,'Marker','o')
plot(X3,Y3,'Color',[0 0 0],'LineStyle','-.','LineWidth',2,'Marker','+')
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
شکل 14 – تغییر شکل نقاط موجود روی منحنی نمودار
تغییر سایز نقاط موجود روی منحنی نمودار
برای تغییر سایز و اندازه نقاط موجود روی منحنی نمودار، دو ورودی دیگر به تابع plot اضافه میشود. ورودی اول ‘MarkerSize’ و ورودی دوم که بلافاصله پس از آن میآید، یک عدد است که اندازه نقاط موجود روی منحنی را تعیین میکند. ورودی دوم در داخل ‘ ‘ قرار نمیگیرد و یک عدد اسکالر است که مقدار پیشفرض آن 6 میباشد. به عنوان مثال، برای افزایش اندازه نقاط موجود روی منحنی سه نمودار، کد زیر نوشته میشود. با اجرای کد زیر، سه نمودار مطابق شکل 15 رسم میشود.
X1=[0:0.5:6];
Y1=sin(X1);
X2=[0:0.5:6];
Y2=1.5*cos(X2);
X3=[0:0.5:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1, Y1, 'Color', 'blue', 'LineStyle', ':', 'LineWidth', 2, 'Marker', 's', 'MarkerSize', 8)
hold on
plot(X2, Y2, 'Color', 'r', 'LineStyle', '--', 'LineWidth', 2, 'Marker', 'o', 'MarkerSize', 10)
plot(X3, Y3, 'Color', [0 0 0], 'LineStyle', '-.', 'LineWidth', 2, 'Marker', '+', 'MarkerSize', 12)
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
شکل 15 – تغییر سایز و اندازه نقاط موجود روی منحنی نمودار
تغییر رنگ نقاط موجود روی منحنی نمودار
رنگ نقاط موجود روی منحنی نمودار، شامل رنگ سطح و رنگ حاشیه میشود که امکان تغییر هر یک از آنها وجود دارد. در ادامه نحوه تغییر رنگ سطح و حاشیه نقاط شرح داده میشود.
تغییر رنگ سطح نقاط
برای تغییر رنگ سطح نقاط موجود روی منحنی نمودار، دو ورودی به تابع plot اضافه میشود. ورودی اول 'MarkerFaceColor' و ورودی دوم که بلافاصله پس از آن میآید، نام کامل یا مخفف یا کد رنگ دلخواه است. اگر رنگ مورد نظر به صورت پیشفرض در نرمافزار متلب تعریف نشده باشد، باید از ساختار RGB برای اعمال رنگ دلخواه استفاده کرد. توضیحات کامل رنگ، در بخش " تغییر رنگ نمودار در نرمافزار متلب" آورده شدهاست. به عنوان مثال، برای تغییر رنگ سطح نقاط موجود روی منحنی سه نمودار، کد زیر نوشته شدهاست. با اجرای کد زیر، سه نمودار مطابق شکل 16 رسم میشود.
X1=[0:0.5:6];
Y1=sin(X1);
X2=[0:0.5:6];
Y2=1.5*cos(X2);
X3=[0:0.5:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1, Y1, 'Color', 'blue', 'LineStyle', ':', 'LineWidth', 2, 'Marker', 's', 'MarkerSize', 10, 'MarkerFaceColor', 'r')
hold on
plot(X2, Y2, 'Color', 'r', 'LineStyle', '--', 'LineWidth', 2, 'Marker', 'o', 'MarkerSize', 10, 'MarkerFaceColor', [0.5,0.5,0.5])
plot(X3, Y3, 'Color', [0 0 0], 'LineStyle', '-.', 'LineWidth', 2, 'Marker', '>', 'MarkerSize', 10, 'MarkerFaceColor', 'blue')
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
شکل 16 – تغییر رنگ سطح نقاط موجود روی منحنی نمودار
همان طور که در شکل 16 مشاهده میشود، رنگ حاشیه نقاط تغییری نکردهاست. در این حالت، حاشیه نقاط به رنگ منحنی نمودار است.
تغییر رنگ حاشیه نقاط
برای تغییر رنگ حاشیه نقاط موجود روی منحنی نمودار، دو ورودی به تابع plot اضافه میشود که ورودی اول 'MarkerEdgeColor' و ورودی دوم که بلافاصله پس از آن میآید، نام کامل یا مخفف یا کد رنگ دلخواه است. در این حالت نیز میتوان از ساختار RGB برای اعمال رنگ دلخواه استفاده نمود. موضوع رنگ، در بخش " تغییر رنگ نمودار در نرمافزار متلب" به تفصیل شرح داده شدهاست. به عنوان مثال، برای تغییر رنگ حاشیه نقاط موجود روی منحنی سه نمودار، کد زیر نوشته شدهاست. با اجرای کد زیر، سه نمودار مطابق شکل 17 رسم میشود.
X1=[0:0.5:6];
Y1=sin(X1);
X2=[0:0.5:6];
Y2=1.5*cos(X2);
X3=[0:0.5:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1, Y1, 'Color', 'blue', 'LineStyle', ':', 'LineWidth', 2, 'Marker', 's', 'MarkerSize', 10, 'MarkerFaceColor', 'r', 'MarkerEdgeColor', [0 0 0])
hold on
plot(X2, Y2, 'Color', 'r', 'LineStyle', '--', 'LineWidth', 2, 'Marker', 'o', 'MarkerSize', 10, 'MarkerFaceColor', [0.5,0.5,0.5], 'MarkerEdgeColor', 'blue')
plot(X3, Y3, 'Color', [0 0 0], 'LineStyle', '-.', 'LineWidth', 2, 'Marker', '>', 'MarkerSize', 10, 'MarkerFaceColor', 'blue', 'MarkerEdgeColor', 'm')
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
شکل 17 – تغییر رنگ حاشیه نقاط موجود روی منحنی نمودار
تغییر رنگ و استایل نمودار و شکل نقاط به صورت همزمان
در تابع plot، امکان تغییر همزمان رنگ و استایل نمودار و شکل نقاط وجود دارد. در این حالت، یک ورودی به تابع plot اضافه میشود که از جنس رشته بوده و در داخل ‘ ‘ قرار میگیرد. این ورودی شامل نام مخفف رنگ، نماد استایل نمودار و نماد شکل نقاط میشود. لازم به ذکر است که ترتیب قرارگیری این کاراکترها اهمیتی ندارد. به عنوان مثال، برای تغییر همزمان رنگ و استایل نمودار و شکل نقاط، کد زیر نوشته شدهاست. با اجرای کد زیر، سه نمودار مطابق شکل 18 رسم میشود.
X1=[0:0.5:6];
Y1=sin(X1);
X2=[0:0.5:6];
Y2=1.5*cos(X2);
X3=[0:0.5:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1,':ko')
%Line Style: Dotted Line
%Color: Black
%Marker: Circle
hold on
plot(X2,Y2,'--r')
%Line Style: Dashed Line
%Color: Red
%Marker: -
plot(X3,Y3,'-b+')
%Line Style: Solid Line
%Color: Blue
%Marker: Plus Sign
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
شکل 18 – رسم سه نمودار با ویژگیهای مختلف
در این حالت، به سادگی میتوان سه نمودار را به طور همزمان با یک بار اجرای تابع plot رسم کرد. به عنوان مثال، برای رسم سه نمودار مطابق شکل 18، میتوان کد زیر را نوشت. با اجرای کد زیر، سه نمودار دقیقاً مشابه شکل 18 رسم میشود.
X1=[0:0.5:6];
Y1=sin(X1);
X2=[0:0.5:6];
Y2=1.5*cos(X2);
X3=[0:0.5:6];
Y3=X3+0.25*(X3.^2)-0.08*(X3.^3);
plot(X1,Y1,':ko',X2,Y2,'--r',X3,Y3,'-b+')
title('Force Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
legend('Sine','Cosine','Polynomial')
grid on
رسم نقاط با استفاده از تابع plot در نرمافزار متلب
برای رسم نقاط با استفاده از تابع plot، تنها کافیست استایل نمودار ‘none’ انتخاب شود. در این حالت، نقاط به یکدیگر متصل نشده و به تنهایی نمایش داده میشوند. باید توجه داشت در حالت پیشفرض با حذف خطوط، نقاط قابل دیدن نیستند. برای نمایش بهتر نقاط، میبایست شکل، رنگ و سایز نقاط را به طور مناسب تعیین کرد. به عنوان مثال، کد زیر برای رسم نقاط با استفاده از تابع plot نوشته شدهاست. با اجرای کد زیر، نقاط مطابق شکل 19 رسم میشود.
X=[0:0.5:6];
Y=sin(X);
plot(X, Y, 'LineStyle', 'none', 'Marker', 'o', 'MarkerSize', 10, 'MarkerFaceColor', 'r', 'MarkerEdgeColor', 'blue')
xlim([-1 7]);
ylim([-1.2 1.2]);
title('Diagram')
xlabel('Time (s)')
ylabel('Force (N)')
grid on
شکل 19 – رسم نقاط با استفاده از تابع plot در نرمافزار متلب
دیدگاه بگذارید