رسم نمودار در متلب : بخش اول صفر تا 100 دستور plot
با درود فراوان به کاربران وبسایت گام98؛ رسم نمودار در متلب بسیار مهم و از طرفی مفصل است. به همین دلیل ما بنا داریم طی مجموعه مقالاتی به آموزش کامل انواع ترفندهای رسم نمودار با متلب بپردازیم. مقالهای که اکنون در آن قرار دارید، اولین پست از سری مقالات « رسم نمودار در متلب » است. در بخش اول دستور رسم نمودار دو بعدی در متلب را برای دستور plot را به طور کامل بیان خواهیم کرد.
رسم نمودار برای بیان نتایج یک تحقیق یا تحلیل ریاضی امری ضروری است.
دستور رسم نمودار در متلب – دستور plot
اولین و رایجترین دستور رسم نمودار در متلب دستور plot میباشد.
این دستور برای رسم نمودار دوبعدی در متلب مورد استفاده قرار میگیرد.
برای استفاده از دستور plot در ورودی اول و دوم به ترتیب اعداد متناظر با محور افقی و عمودی را قرار میدهیم.
به عنوان مثال نمودار (sin(x^2)+cos(x^2 را برای اعداد از 5- تا 5 را ترسیم کنیم:
1 2 3 4 |
x=-5:0.01:5 y=sin(x.^2)+cos(x.^2) figure(1) plot(x,y) |
برای ترسیم نمودار در متلب حالت استاندارد این است که قبل از دستور plot عبارت figure را قرار دهیم.
حتی میتوانیم به آن شماره دهیم که در صورتی که چندین نمودار جدا را بخواهیم ترسیم کنیم میتوانیم با شماره گذاری figure ها همه نمودارها را داشته باشیم.
اگر دستور فقط با ورودی y فراخوانی شود، نمودار y را از عدد یک تا تعداد عناصر x ترسیم میکند.
در این مثال چون تعداد xها 1000 عدد هست، نمودار y را از یک تا 1000 فراخوانی میکند.
plot(y)=plot(1:n ,y)
n= x تعداد المانهای
اگر میخواهید متلب را پایهای فراگرفته و با طریقه برنامهنویسی در متلب آشنا شوید، به صفحه « آموزش برنامه نویسی متلب » گام98 مراجعه نمایید.
تنظیمات رسم نمودار دو بعدی در متلب با دستور plot
برای ترسیم نمودار در متلب تمایل داریم تنظیمات دلخواه خود را برای نمودار مشخص کنیم این تنظیمات به صورت زیر خواهند بود:
رسم چند نمودار در متلب: با استفاده از دستور hold on در متلب
1-برای رسم چند نمودار در متلب بر روی یک شکل میتوانیم از دستور hold on استفاده کنیم.
یا به صورت زیر از تکینکهای دیگر دستور plot استفاده کنیم. بصورت زیر:
1 2 3 4 5 6 7 8 |
x=-5:0.01:5 y=sin(x) z=cos(x) plot(x,y) hold on; plot(x,z) % or: plot(x,[y; z]) % or: plot(x,y,x,z) |
رسم نمودار در متلب با استایل، مارکر و رنگ مشخص
2- استایل(LineStyle) ، مارکر(Marker) و رنگ (Color) نمودار را بدون استفاده از نام زیردستورهای آنها و فقط با حرف شناسه آنها تغییردهیم.
این حروف شناسه مطابق جدول زیر هستند.
به عنوان مثال برای رسم نمودار دو بعدی در متلب با تابع cos سه نوع نمودار را با استفاده از این تنظیمات رسم خواهیم کرد:
1 2 3 4 5 6 |
x = 0:pi/10:2*pi y1 = cos(x) y2 = cos(x-0.4) y3 = cos(x-0.7) figure plot(x,y1,'r',x,y2,'m--s',x,y3,'*c') |
همانطور که مشاهده میکنید این زیردستورات در ترکیب با هم استفاده میشوند و ترتیب استفاده آنها اهمیتی ندارد.
در اینجا برای رسم چند نمودار در متلب از تکنیک سوم این روش استفاده شده است.
دستورات مکمل ترسیم نمودار در متلب بخش اول – دستور subplot، axis، grid، title، xlabel،ylable
3- برای تقسیمبندی یک figure به تعداد مشخصی نمودار از دستور (subplot(m,n,p استفاده میکنیم.
m تعداد سطر و n تعداد ستون و p محل قرارگیری نمودار مربوطه میباشد. این دستور باید قبل از دستور plot برای هر نمودار استفاده شود.
4- برای مشخص کردن سایز محورهای افقی و عمودی نمودار از دستور axis استفاده میشود.
دو عدد اول مربوط به بازه محور افقی و دو عدد دوم مربوط به بازه محور قائم میباشد. همچنین دستور axis equal واحدهای افقی و عمودی را در نمودار مساوی قرار میدهد یعنی هر یک واحد طولی برابر یک واحد عرضی است.
5- برای نشان دادن گرید ها میتوانیم از دستور grid on استفاده کنیم.
6- برای نوشتن عنوان یک نمودار از دستور title بعد از دستور رسم نمودار در متلب (plot) استفاده میشود.
7- برای مشخص کردن لیبلهای محورهای x و y به ترتیب از دستورات xlabel و ylabel بعد از دستور plot استفاده میکنیم.
در ادامه رسم نمودار در متلب با دستور plot نمودار برای توابع sin و cos را با دستورات گفته شده مثال زیر را انجام میدهیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
x = linspace(0,5) y1 = sin(5*x)+cos(5*x) ax1 = subplot(2,1,1); % top subplot plot(ax1,x,y1) grid on title(ax1,'Top Subplot') ylabel(ax1,'sin(5x)+cos(5x)') xlabel('x') axis([0 5 -2 2]) ax2 = subplot(2,1,2) % bottom subplot y2 = sin(10*x)+cos(10*x) plot(ax2,x,y2) grid on title(ax2,'Bottom Subplot') ylabel(ax2,'sin(10x)+cos(10x)') xlabel('x') axis ([0 5 -2 2]) |
همانطور که مشاهده میکنید اسم subplot موردنظر در ورودی اول دستورات plot و title و ylabel داده شده است؛
این مورد الزامی نیست ولی برای استاندارد بودن کد مورد استفاده قرار گرفته است. برای xlabel قرار ندادهایم و مشکلی برای ترسیم نمودار در متلب ایجاد نخواهد شد.
لازم به ذکر است که دستور linspace برای تولید تعداد دلخواهی از اعداد در یک بازه مشخص با فواصل مساوی میباشد.
خروجی اول و دوم بازه موردنظر را مشخص میکنند و خروجی سوم تعداد اعداد را در آن بازه بیان میکند.
اگر خروجی سوم را قرار ندهیم مانند این مثال، در حالت پیشفرض 100 عدد را در بازه مشخصشده تولید میکند که فاصله هر دو عدد از هم یکسان میباشد.
تنظیمات ترسیم نمودار با دستور plot : دستورات مکمل رسم نمودار بخش دوم – دستور legend، xlim،ylim، yyaxis در متلب
8- برای رسم نمودار در متلب با 2 محور قائم که در بسیاری از موارد کاربردی میباشد. از دستور yyaxis بصورت (Left, Right) استفاده میشود.
9- همچنین برای تعیین رنج این محورها از دستور ylim کمک میگیریم.
یادآوری میشود که دستور axis برای هر دو محور x و y استفاده میشد که برای بازه هر محور به تنهایی میتوانیم از دستورات ylim و xlim استفاده کنیم.
10-در صورتی که رسم چند نمودار در متلب در یک شکل انجام شده باشد و بخواهیم اسم هر کدام مشخص کنیم از دستور legend استفاده میکنیم.
این دستور باید بعد از دستور رسم نمودار در متلب (plot) نوشته شود و اسم نمودارها باید به ترتیب نوشته شوند.
1 2 3 4 5 6 7 8 9 |
x =0:0.1:10 y = cos(3*x) yyaxis left plot(x,y) z = cos(3*x).*exp(0.5*x) yyaxis right plot(x,z) ylim([-150 150]) legend('y = cos(3*x)','z = cos(3*x).*exp(0.5*x)') |
کاربرد این دستور اینجاست که برای رسم دو نمودار در یک شکل اگر بازه تغییرات دو تابع برابر نباشد؛
مانند این مثال میتوان محورهای هر دو را جدا در نظر گرفت و هر دو را با هم در یک شکل نشان داد.
تنظیمات ترسیم نمودار در متلب : زیردستورات plot- زیردستور color Linewidth، Linestyle، Marker در متلب
1- برای عوض کردن رنگ نمودار در متلب از زیردستور color استفاده میکنیم.
بعد از آن رنگ را به صورت حرف شاخص یا نام رنگ و یا در حالت کلی از کدینگ RGB استفاده میکنیم. در جدول زیر مشخصات مربوط به رنگها را مشاهده میکنید.
2- برای تغییردادن ضخامت خط نمودار در متلب از زیردستور Linewidth استفاده میشود.
در حالت پیشفرض ضخامت خط نمودار مقدار 0.5 خواهد بود.
3- برای تغییردادن نوع استایل خط نمودار از دستور LineStyle استفاده میشود
میتوان به جای خط کامل از نقطه، خطبریده و یا نقطهخطبریده استفاده کرد. در جدول زیر مشخصات این حالتها را میبینید:
4- برای ایجاد شکل خاصی در خط نمودار مانند مربع ، دایره و … از زیردستور Marker استفاده میکنیم.
از جدول زیر میتوانیم مقدار هر کدام از شکلها را مشاهده کنیم. به عنوان مثال برای دایره از O استفاده میکنیم.
5- برای یک Marker میتوانیم رنگهای داخل و دورشکل آن را به ترتیب بوسیله زیردستورات MarkerFaceColor و MarkerEdgeColor تعیین کنیم.
این رنگها مشابه دستور color به صورت رنگهای شاخص یا با کدینگ RGB مطابق جدول ارائه شده در قسمت Color انجام میشود.
6- برای رسم کردن فقط Marker هایی خاص میتوانیم از زیردستور ‘MarkerIndices’ استفاده کنیم.
در حالت پیشفرض اگر محور عمودی را y در نظر بگیریم این مقدار برابر تعداد المانهای y میباشد.
در واقع همهی Marker ها را درنظر میگیرد که میتوانیم فقط تعداد مشخصی از آنها را رسم کنیم.
7- برای تغییر اندازه یک Marker از زیردستور ‘MarkerSize’ استفاده میشود.
نکته مهم : برای استفاده از زیردستورات رسم نمودار در متلب ابتدا نام ‘زیردستور’ را تایپ کرده و سپس مقدار موردنظر مربوط به آن زیردستور را در جمله بعد از آن وارد میکنیم.
با توجه به مثال زیر دقت شود که در برخی حالات برای مقدار زیردستور نیز باید عبارت داخل ‘ ‘ قرار داده شود.
حل مثال با استفاده از زیردستورات plot در متلب
با استفاده از دستور plot در مثال زیر انواع زیردستورات را برای رسم یک نمودار مورد استفاده قرار میدهیم:
1 2 3 4 5 6 7 8 9 10 11 |
x = -pi:pi/8:pi; y = tan(cos(x)) - cos(tan(x)) figure plot(x,y,'Color',[200 50 50]/255,... 'Marker','d',... 'MarkerIndices',1:2:length(y),... 'LineStyle','--',... 'LineWidth',2,... 'MarkerSize',12,... 'MarkerEdgeColor','c',... 'MarkerFaceColor',[0.5,0.5,0.5]) |
دقت شود که در متلب برای رفتن به خط بعد از سه نقطه (…) استفاده میشود.
همچنین برای اعمال کردن رنگ موردنظر از کدینگ RGB استفاده شده است که سه عدد باید داده شود
حتما هر کدام از اعداد باید بین صفر تا یک باشند. به همین دلیل در قسمتColor این اعداد که در RGB باید بین صفر تا 255 باشند را در نهایت بر عدد 255 تقسیم کردهایم تا حاصل بین صفر تا یک شود.
در قسمت زیردستور ‘MarkerIndices’ به جای همه نقاط یکی در میان نقاط را در نظر گرفتهایم.
امیدوارم با کمک دستورات گفته شده بتوانید انواع نمودارها را با دستور plot تولید کنید. در اینجا بخش اول آموزش رسم نمودار در متلب به پایان رسید. رسم نمودار ممکن است در پروژههای متلب متعددی بکار آید. به شما پیشنهاد میکنیم برای بهرهمندی از 10ها پروژه آماده و کاربردیِ متلب، به صفحه « پروژه آماده متلب » مراجعه نمایید.
این مقاله آموزشی به کوشش تیم تولید محتوای علمی و نرمافزاری گام98 در راستای ارتقای دانش شما در استفاده از نرمافزار متلب تولید شده است. درصورتی مفید بودن این مقاله آن را به دوستان و آشنایان خود معرفی نمایید.
مطالب زیر را حتما مطالعه کنید
کار با بردارها در متلب
آموزش کامل انواع دستورات توزیعهای آماری در متلب
در این مقاله قصد داریم انواع دستورات مهم توزیع های آماری در متلب را به همراه رسم انواع توزیعها و برازش با استفاده از توزیع های آماری بیان نماییم.
آموزش صفر تا 100 تحلیل المان میله به روش اجزا محدود
در ادامه دومین سری از آموزشهای روش المان محدود در این مقاله تحلیل المان میله به روش اجزا محدود را همراه با مثال به طور صفر تا صدی آموزش خواهیم داد.
آموزش جامع و کامل تحلیل المان فنر به روش اجزا محدود
در اولین مجموعه از مقالات آموزشی روش اجزا محدود، آموزش جامع و کامل تحلیل المان فنر به روش المان محدود را همراه با مثال برای شما عزیزان بیان خواهیم کرد.
روش اجزا محدود – Finite Element Method
روش اجزا محدود یک روش عددی برای حل مسائل مهندسی و فیزیکی میباشد. در این مقاله به طورکلی با کاربرد، تاریخچه و مراحل حل این روش آشنا خواهیم شد.
آموزش جامع انواع دستورات توزیع نرمال در متلب
در این مقاله انواع دستورات توزیع نرمال در متلب را به شما آموزش میدهیم.همچنین نحوه کار با توزیع های نرمال تک متغیره و چند متغیره را با جزئیات خواهید آموخت.
4 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
با سلام
خیلی ممنون و متشکر از کد مفیدی که در اختیار بینندگان قرار دادید.
ممنون از نظر لطف شما
سلام و عرض ادب دارم خدمت شما.
من یه سوال داشتم، در ترسیم گراف در متلب چگونه محور x و y را ضخیم نمایم ممنون از شما.
سلام و عرض ادب
اگرچه برای تغییر ضخامت محورهای نمودار نیز در متلب کد دستوری وجود دارد، اما پیشنهاد میشود برای تغییر ضخامت محورها (و سایر جزئیات) ابتدا از پنجره نمودار روی گزینه تنظیمات کلیک کرده و پس از وارد شدن به بخش تنظیمات، جزئیات موردنظر را در بخش Box Properties اعمال نمائید. چرا که کدنویسی برای این جزئیات ممکن است نسبت به برخی کلیات نمودار (مثل عنوان و…) کمی پیچیدهتر باشد.