در این مطلب از نرم افزار متلب (MATLAB) به طور کامل دستور plot را آموزش خواهیم داد، از رسم نمودارهای معمولی گرفته تا حتی ویرایش نوع خط و marker و رنگ و غیره! پس با ما تا انتهای این مطلب همراه باشید!
برای رسم یک همچین نموداری با دستور plot، باید قطعه کد زیر رو بنویسیم!:
x=-4:0.01:4; y=x.^2; plot(x,y)
در خط اول این کد، x های نمودار را مشخص میکنیم و در خط دوم y ها را!
درخط اول میگویم از -4 تا +4 با گام 0.01 عدد درست کن!
در خط دوم هم میگیم که y برابر است با x به توان 2!
در خط سوم هم داریم میگیم که نموداری رسم کن با محور افقی x و محور عمودی y!
که خروجی زیر را میدهد:
این مثال دوم رو براش توضیحی نمینویسیم، چون شبیه همون اولی است توضیحاتش!
t=0:0.01:1 y=sin(2*pi*t) plot(t,y)
فقط یک نکته رو بگم (که اون رو هم خودتون میدونید به احتمال زیاد):
pi همان عدد پی (π) است!
که خروجی زیر را میدهد:
فرض کنید قرار است نمودارهای sin(x) و cos(x) را در بازه 0 تا 4π با هم در یک نمودار رسم کنیم!
x=0:0.01:4*pi; y1=sin(x); y2=cos(x); plot(x,y1) hold on plot(x,y2)
فقط چند نکته رو توضیح بدم!:
در خط اول که داریم میگیم حدود x از 0 تا عدد 4π است و با گام 0.01!
در خط دوم، y1 رو sin(x) تعریف کردیم و در خط سوم، y2 رو cos(x)!
در خط چهارم میگیم نموداری با محور افقی x و محور عمودی y1 رسم شود!
در خط پنجم میگیم: دست نگه دار! (برای اینکه نمودار دیگه رو هم بندازیم روی همون نمودار قبلی)!
در خط ششم میگیم: نموداری با محور افقی x و محور عمودی y2 رسم کن!
نتیجه قطعه کد بالا به صورت زیر خواهد بود!:
فرض کنید در مثال فوق در بخش قبلی، میخواهیم رنگ نمودار y1 مشکی! و رنگ نمودار y2 قرمز باشد!
در این صورت کافی است در خط چهارم قطعه کد سابق، بنویسیم:
plot(x,y1,'k')
که k از کلمه black به معنی مشکی گرفته شده! شاید بگید چرا b نذاشته؟! چون b مخفف کلمه blue به معنی آبی است!
و در خط ششم قطعه کد سابق نیز باید بنویسیم!:
plot(x,y2,'r')
که r از کلمه red به معنی قرمز گرفته شده!
اجازه بدید اول یه مثال بیاریم، بعد روی همون مثال توضیح بدیم!
x=0:0.01:4*pi; y1=sin(x); y2=cos(x); plot(x,y1,'k') hold on plot(x,y2,'color',[63,72,204]/255)
که پس از اجرای قطعه کد بالا خروجی زیر را میدهد!:
توضیحات:
rgb یک سیستم رنگدهی سهتایی است که از ترکیب سه رنگ اصلی قرمز (Red)، سبز (Green) و آبی (Blue) رنگهای مختلف را ایجاد میکند!
البته توجه کنید که در متلب باید اعدادی که وارد میکنید بر حسب درصد باشد!
خب حالا سوال پیش میاد که ما از کجا بفهمیم رنگهای مختلف چه عددی دارند؟! جواب: دو تا راه داره!:
1- یا خودتون بنویسید! مثلاً بگید من فقط میخوام رنگ نمودار سبز باشه، و سبز مدنظر هم تیره تر باشه! پس فقط قسمت سبز رو عدد بدید و قسمت قرمز و آبی رو صفر بدید! به این صورت!:
[0,0.4,0]
2- از یه سری سایتها یا نرمافزارها استفاده کنید! سایت که برای اینکار زیاده و فقط کافیه کمی جستجو کنید!
اما شاید دم دست ترین ابزار، نرمافزار paint باشه که توی همه windows ها هم وجود داره!
حالا فرض کنید رنگی که در paint انتخاب کردید، ترکیب رنگش ایناست!:
[63,72,204]
همانطور که مشاهده میکنید، براساس درصد نیست! برای اینکه به درصد تبدیل بشه، بر max عدد ممکن (یعنی 255) تقسیم میکنیم!
[63,72,204]/255
در خط ششم همین بخش، دقیقا همینو نوشتیم و با این سیستم رنگدهی کردیم!
برای تعیین ضخامت یک نمودار از LineWidth استفاده میکنیم! مثلاً مثال زیر را در نظر بگیرید!
x=0:0.01:4*pi; y1=sin(x); plot(x,y1,'LineWidth',2)
در خط سوم این قطعه کد، ضخامت خط (LineWidth) رو 2 انتخاب کردیم!
که نتیجه خروجی به صورت زیر خواهد بود:!
اگر یکی بخواد خطی که میکشه، خط چین باشه! یا نقطه چین یا ….! باید چیکار کنه؟!
باز هم مثال زیر را در نظر بگیرید!
x=0:0.01:4*pi; y1=sin(x); plot(x,y1,'--')
در خط سوم این قطعه کد، تعیین کردیم که نوع خط نمودار، از نوع خط چین باشه!
نتیجه:
یا مثلاً یک مثال دیگه به صورت زیر رو در نظر بگیرید!
x=0:0.1:4*pi; y1=sin(x); plot(x,y1,'O-')
اولاً حواستون باشه، گام x رو به 0.1 تغییر دادیم (برای اهداق آموزشی)!
دوما در خط سوم این قطعه کد، گفتیم که خطی که رسم میشه، به ازای x و y هایی که بهش دادیم (یعنی به ازای نقاط داده شده)، یه دایره بکشه و بین این دایرهها (برای وصل کردنشووون!) خط معمولی بکشه!
که خروجی زیر رو میده!:
نکته: به این دایره (و چیزای مشابه این که در نمودارها میکشیم) میگن marker!
برای تغییر اندازه marker در رسم یک نمودار داریم!:
x=0:0.1:4*pi; y1=sin(x); plot(x,y1,'O-','MarkerSize',7)
که در بالا با دستور MarkerSize، اندازه marker رو 7 گذاشتیم!
برای تغییر رنگ marker هم به عنوان مثال داریم!:
x=0:0.1:4*pi; y1=sin(x); plot(x,y1,'O-','MarkerSize',7,'MarkerFaceColor','g')
که در بالا با دستور MarkerFaceColor رنگ marker رو سبز گذاشتیم!
نتیجه خروجی!:
توجه کنید که اینجا هم به جای ‘g’ میتونستیم از سیستم سه تایی برای رنگ دهی استفاده کنیم! یعنی مثلاً به جای ‘g’ بنویسیم!:
[0,0.8,0]
تعداد دیدگاه | 0 |
تعداد بازدید | 17.0K |
تاریخ انتشار | 15/08/2018 |
تاریخ بروزرسانی | 15/08/2018 |
نویسنده | گروه آموزشی کولاک |