حال که مقدمات مربوط به متلب از نظر کدنویسی را فرا گرفته اید. در این قسمت در رابطه با رسم نمودار در متلب صحبت خواهیم نمود. در واقع علاوه بر قسمت command window که نتایج را نشان می دهد، می خواهیم نتایج به صورت گرافیکی نیز برایمان نمایش داده شود. در زیر مثال های مختلفی از رسم نمودار در متلب آورده شده است.
یکی از دستورات مربوط به رسم نمودار درمتلب استفاده از تابع plot است که شما می توانید نمودار مورد نظر خود را رسم کنید. به عنوان مثال می خواهید نقاط مربوط به (۱,۳) و (۲,۸) و (۳,۴-) و (۸- , ۳) را در متلب به صورت گرافیکی نمایش دهید. کافی است به صورت زیر عمل نمایید:
ابتدا x ها را در یک متغیر به نام x به صورت ماتریسی ذخیره کنید. سپس برای yها نیز همین عمل را تکرار کنید. حال کافیست از دستور (plot(x,y استفاده نمایید. کد زیر را ببیند:
www.fardapaper.ir%
;clear
;clc
;[x=[1 2 -3 8
;[y=[3 8 4 -8
;(plot(x,y
با این دستور نتیجه زیر حاصل خواهد شد:
همان گونه که می بینید نقاط مشخص نشده اند و لذا برنامه نیاز به ویرایش دارد. برای نشان دادن نقطه خاص باید از ‘o’ در دستور plot استفاده نمایید یعنی کد را بدین صورت تغییر دهید.
www.fardapaper.ir%
;clear
;clc
;[x=[1 2 -3 8
;[y=[3 8 4 -8
;(‘plot(x,y,‘o
که نتیجه بدین صورت تغییر پیدا خواهد نمود.
حال می خواهیم داخل دایره ها را رنگی نماییم. باید از دستور زیر در plot استفاده نماییم.
www.fardapaper.ir%
clear;
clc;
x=[1 2 -3 8];
y=[3 8 4 -8];
plot(x,y,‘o’,’MarkerFaceColor’,’k’);
که نتیجه به صورت زیر به دست می آید:
در کد بالا ‘k’ به معنای سیاه بودن است و می توانستیم با رنگ های دیگر نیز داخل دایره ها را پر کنیم مثل ‘b’ یعنی آبی یا ‘r’ یعنی قرمز و… .
مثال: نمودار x=0:0.01:2*pi و (y=cos(x را با استفاده از تابع plot در متلب رسم نماییم.
یعنی x با مقدار ۰.۰۱ افزایش یافته و بازای هر مقداری که می گیرد (cos(x محاسبه شده و در نتیجه نمودارش رسم شود. مثل مثال بالا انجام می گیرد و در واقع ابتدا x=[0 0.01 0.02 0.03 . . . ۲*pi] و مثل همین مقدار [(y=[cos(0) cos(0.01) . . . cos(2*pi محاسبه می شود و سپس مثل بالا نمودار رسم خواهد شد.
کافیست از کد به صورت زیر استفاده کنیم:
www.fardapaper.ir%
clear;
clc;
x=0:0.01:2*pi;
y=cos(x);
plot(x,y);
نتیجه به صورت شکل زیر به دست می آید:
حال می خواهیم اندازه ی قلم مربوط به رسم نمودار را افزایش دهیم. برای این کار از linewidth استفاده می کنیم و بعد شماره قلم را می نویسیم. برای تغییر رنگ نیز از color و سپس اسم آن که در بالا اشاره شد می نویسیم. یا حتی می توانیم به جای دایره ی کوچک که پیش فرض متلب برای رسم است از شکل های دیگر مثل * استفاده نماییم. در کل کد را به صورت زیر تغییر دهیم.
www.fardapaper.ir%
clear;
clc;
x=0:0.01:2*pi;
y=cos(x);
plot(x,y,’*’,’color’,’r’,’linewidth’,3);
و شکل به صورت زیر در می آید
ستاره ها درست و حسابی مشخص نیستند آن هم به خاطر نزدیک بودن نقطه ها که به فاصله ۰.۰۱ از هم می باشند و از طرفی بزرگ بودن خطوط و … می باشد. اگر فاصله x را از ۰.۰۱ به ۰.۱ تغییر دهیم یعنی کد به صورت زیر باشد:
www.fardapaper.ir%
clear;
clc;
x=0:0.1:2*pi;
y=cos(x);
plot(x,y,‘*’,’color’,’b’,’linewidth’,3);
شکل به صورت زیر در می آید:
از این به بعد همیشه ابتدای برنامه از close all استفاده می کنیم. Close all باعث خواهد شد مانند clc همه ی نمودارها ابتدا بسته شده و نمودار جدید باز گردد. از طرفی همیشه قبل از هر plot از ()figure با شماره استفاده می کنیم. تا نمودارها جدا از هم رسم شوند و در یک نمودار چند تابع را رسم نکنیم.
مثال: نمودار سه تا sin در یک نمودار.
کد متلب به صورت زیر می باشد (حالا دیگه خودتان می توانید کد رو تفسیر نمایید)
x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure (1)
plot(x,y1,’r’,x,y2,’b–o‘,x,y3,’c*‘)
نمودار به صورت زیر به دست می آید:
اگر برای هر کدام یک figure باز می کردیم آن موقع داشتیم:
close all;
clear;
clc;
www.fardapaper.ir%
x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure (1)
plot(x,y1,’r’)
figure (2)
plot(x,y2,’b–o‘)
figure (3)
plot(x,y3,’c*’)
شکل ها جداگانه و به صورت زیر خواهند بود.
حال برای نوشتن عنوان از title و برای نوشتن موضوع خط افقی از xlabel و برای نوشتن موضوع خط عمودی از ylabel استفاده می کنیم.
مثال: نمودار سه تا sin در یک نمودار با مشخص بودن عنوان با نام www.fardapaper.ir و محور افقی با نام mehvar x ha و محور عمودی با نام mehvar y ha
close all;
clear;
clc;
%www.sigmaland.ir
x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure (1)
plot(x,y1,‘r‘,x,y2,’b–o‘,x,y3,‘c*‘)
title(‘www.fardapaper.ir‘);
xlabel(‘mehvar x ha‘);
ylabel(‘mehvar y ha‘);
و نمودار به صورت
روش دوم برای رسم نمودار در متلب استفاده از تابع subplot می باشد. می خواهیم در یک figure به صورت مجزا دو یا سه یا چند نمودار داشته باشیم در اینصورت از تابع subplot استفاده می کنیم. دستور (subplot(m,n,number که m نشان دهنده تعداد سطر نمودار figure و n تعداد ستون می باشد. دقت کنید که منظور از m و n این است که نمودار ها کنار هم باشند یا زیر هم!
مثال: نمودار دو تابع سینوسی در کنار هم توسط subplot در متلب
الان دیگه خودتون میتونید کد رو بفهمید.
close all;
clear;
clc;
www.fardapaper.ir%
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = sin(5*x);
figure
subplot(1,2,1);
plot(x,y1)
title(‘www.sigmaland.ir‘);
xlabel(‘mehvar x ha‘);
ylabel(‘mehvar y ha‘);
subplot(1,2,2);
plot(x,y2)
title(‘www.sigmaland.ir‘);
xlabel(‘mehvar x ha‘);
ylabel(‘mehvar y ha‘);
که نمودار به صورت زیر به دست می آید:
سلام. بسیار مفید بود. ممنونم
سلام
کدنویسی با متلب :نمودار بهینه سازی پارامترهای گلخانه ریزشبکه برحسب تابعی از زمان در متلب ممنون