آموزش Matlab قسمت سوم

با سلام

در خدمت شما هستم با جلسه سوم  آموزش MATLAB . در این جلسه در رابطه با رسم نمودار  صحبت خواهم کرد .

همانطور که میدانید نرم افزار MATLAB امکانات خوبی در زمینه رسم نمودار دارد..خیلی از نمودار های ریاضی در MATLABبه آسانی قابل رسم هستند.

از مهم ترین دستورات برای رسم نمودار میتوان به دستور plotاشاره کرد.

با استفاده از دستور زیر مشخصات کامل این دستور را میتوانید مشاهده کنید .

 help plot

فرض کنید که می خواهیم نمودار سینوس  را در فاصله بین صفر تا 2*pi رسم کنیم:

t=0:0.01:2*pi;

 

u=sin(t);

گام متغیر t  را برابر با 0.01 قرار دادم تا وقتیکه نمودار سینوس کشیده میشه حالت شکسته نداشته باشه.

دستور رسم نمودارهای دو بعدی در متلب دستور plot است.

 plot(t,u)

با اجرای دستور بالا میبینید که نمودار سینوس کشیده میشود .

آموزش matlab جلسه سوم عکس 1

در واقع دستور  

 plot(t,x)

 عناصر بردار xرا بر حسب بردار t نظیر به نظیر به صورت نقاطی روی صفحه ی مختصات قرار میدهد.در نهایت این نقاط را بهم وصل و منحنی مورد نظر ایجاد میکند.

برای رسم نمودارهای ساده، استفاده از plot بسیار رایج است ولی این دستور را به سادگی می‌توان برای رسم نمودارهای پیچیده‌تر هم استفاده کرد. قطعه برنامه زیر چگونگی استفاده از این دستور را نشان می‌دهد:

 » x=0:1.5:9
y=sqrt(x) .* (1-0.05*x)
plot(y)
x =

         0    1.5000    3.0000    4.5000    6.0000    7.5000    9.0000
y =
         0    1.1329    1.4722    1.6440    1.7146    1.7116    1.6500

»

آموزش matlab جلسه سوم عکس 2

در نمودار فوق منحنی مورد نظر باید در بازه صفر تا ۹ رسم شود ولی محور افقی بجای صفر تا ۹، بازه صفر تا هفت را نشان می‌دهد. بجز این ، خطوط منحنی هم دارای شکستگی‌هایی است. برای حل مشکل اول کافیست متغییر x هم به عنوان ورودی به تابع plot فرستاده شود. برای مشکل شکستگی‌های خطوط نیز باید تعداد زیربازه‌ها افزایش یابد. برای رسم دوباره این نمودار می‌توانید از دستور زیر استفاده کنید و نتیجه را ببینید:

 x=0:0.2:9
y=sqrt(x) .* (1-0.05*x)
plot(x,y)

آموزش matlab جلسه سوم عکس 3

مثلا فرض کنید می خواهیم تابع  زیر را در بازه [5،5-] رسم کنیم 

 1+cos(2x)
» x=-5:0.1:5;
y=1+cos(2*x);
plot(x,y)
»

نمودار آن به صورت زیر خواهد بود

آموزش matlab جلسه سوم عکس 4

حال فرض کنید می خواهیم رنگ نمودار را سبز و خط آن را ستاره ای کنیم ،پس می نویسیم:

 plot(x,y,'g*')

نتیجه به صورت زیر است :

آموزش matlab جلسه سوم عکس 5

حالا یک مثال دیگر را بررسی میکنیم

فرض کنیم سنگی با سرعت اولیه 60 در زمان صفر به طور عمودی به بالا پرتاب شود.نمودار مسافت-زمان را تا  زمان 12.3  با گام 0.1 رسم کنید.

 » g = 9.8;
v0 = 60 ;
t = 0: 0.1: 12.3;
x = v0*t - g/2 * t.^2 ;
» plot(t,x)
»

آموزش matlab جلسه سوم عکس 6

برای نمودار میتوان یک عنوان انتخاب کرد.برای هر یک از محور ها نیز میتوان نام مناسبی انتخاب کرد برای مثال در مثال فوق میتوانیم این دستورات را اضافه کنیم و تغییرات را ببینیم

 title('Motion')
xlabel('Time')
ylabel('Displacement')

آموزش matlab جلسه سوم عکس 7

میتوان چند منحنی را نیز در یک صفحه مختصات رسم کرد

 plot(x,y1,x,y2)

این دستور منحنی های  y1 و y2

را بر حسب xو با دو رنگ متفاوت رسم خواهد کرد

 >>x = -pi:0.1:pi;

y1 = sin (x);

y2 = cos (x);

plot(x, y1, x, y2);
>>

آموزش matlab جلسه سوم عکس 8

چند نکته 

 legend('sin')
xlabel('t')

دستور xlabel باعث گذاشتن برچسب بر روی محور x ها میشه. بین دو علامت ' '  هرچی بنویسید در روی محور x ها نشون داده میشه.

 ylabel('u')

دستور ylabel باعث گذاشتن برچسب بر روی محور y ها، دستور title باعث گذاشتن عنوان بر روی نمودار و دستور legend باعث گذاشتن راهنما در گوشه نمودار میشه. بین دو علامت ' ' هرچی بنویسید همون نشون داده خواهد شد.

همانطور که میدانید نمودار ها همگی با رنگ پیش فرض  آبی رسم میشوند. اگر بخواهید رنگ نمودار را تغییر دهید باید در همان دستور plot این کار را انجام دهید:

راه اول: تغییر رنگ به یکی از رنگهای سیاه، سفید، فیروزه ای، قرمز، سبز، آبی، زرد و بنفش.

 plot(t,u,' ')

بین دو علامت ' ' هر کدام از حروف زیر را که بنویسید رنگ متناسب با حرف نوشته شده تغییر خواهد کرد:

c : فیروزه ای

m : بنفش

b: آبی 

که اگر نوشته نشود هم رنگ آبی پیش فرض می باشد

r: قرمز

g: سبز

k: سیاه

w: سفید

y: زرد

برای مثال می خواهید رنگ نمودار قرمز شود:

 plot(t,u,\'r\')

راه دوم: می خواهید از رنگهای ترکیبی دیگر استفاده کنید:

 plot(t,u,\'color\',[r g b])

به جای سه عدد r و g و b  باید عددی بین 0 و 1 وارد کنید. عدد مربوط به r معرف رنگ قرمز، عدد مربوط به g معرف رنگ سبز و عدد مربوط به b معرف رنگ آبی میباشد. مسلما اگر سه عدد را به صورت [0 0 1] قرار دهید رنگ به صورت قرمز خواهد شد و اگر هر سه را برابر با 1 قرار دهید مشکی و اگر هر سه را برابر با 0 قرار دهید سفید خواهد شد. پش با انتخاب سه عدد بین 0 و 1 میلیونها رنگ می توانید داشته باشید:

 plot(t,u,'color',[1 0.2 0.06])

حتما دقت کرده اید که وقتی نمودار را کشیدید با یک ضخامت پیش فرض نمودار برای شما کشیده شد. اگر که بخواهید ضخامت را هم عوض کنید باید از دستور LineWidth در دستور plot به صورت زیر استفاده کنید:

 plot(t,u,'LineWidth',a)

یا

 plot(t,u,'g','LineWidth',a)

یا

 plot(t,u,'color',[1 .03 .5],'LineWidth',a)

منظور از a عددی است که ضخامت خط نمودار را  تعیین می کنه مثلا a=2:

 plot(t,u,'k','LineWidth',2)

رسم چند نمودار مجزا در یک پنجره

بمنظور تقسیم پنجره خروجی به چند بخش میتوان از تابع subplot استفاده کرد.

شکل کلی آن به صورت زیر است :

 subplot(m,n,p)

 

mتعداد بخش های افقی

nتعداد بخش های عمودی

pشماره بخش جاری

هر دیتور ترسیمی بعد از این دستور در مکان pام اعمال خواهد سد.خانه ها به صورت ستونی شمارش میشوند.

واضح است که مقدار pمیتواند بین 1   و  n*mباشد.در غیر این صورت خطا رخ میدهد

 » x=linspace(0,2*pi,30);
subplot(2,2,1);plot(x,sin(x));
subplot(2,2,2);plot(x,cos(x));
subplot(2,2,3);plot(x,tan(x));
subplot(2,2,4);plot(x,sin(x)+cos(x));
»

خروجی کد های بالا به صورت زیر است:

آموزش matlab جلسه سوم عکس 9

فکر میکنم برای امشب کافی باشه.

در این جلسه تا حدودی به طور مقدماتی با رسم نمودار های دو بعدی آشنا شدیم..رسم نمودار خیلی گستره تر از چیزی بود که من بیان کردم..چون هدفم اینه  که به طور مختصر در مورد این ها صحبت کنم تا وارد مبحث اصلی یعنی پردازش تصویر بشم. در جلسه ی بعد در مورد ساختار های تصمیم و انتخاب صحبت خواهیم کرد .

برای درج نظر و یا طرح سوالات خود لطفا در سایت ثبت نام کنید و یا وارد سایت شوید

نظرات کاربران

برای این مطلب تاکنون نظری ارسال نشده است. شما اولین نفر باشید