ایجاد نمودارهایی با دو محور y در Matlab
حتما تا حالا نمودارهایی رو دیده اید که دارای دو محورy می باشند که هر محور y هم رنج داده های متفاوتی از محور دیگه داره. مثلا یه محور بازه بین 0 تا 1000 رو نشون میده که مثلا مربوط به متغیر ارتفاع هستش و یه محور دیگه بازه بین 0.1 تا 0.3 رو نشون می ده که مربوط به تغییرات چگالی هستش.
خب معلومه که چون بازه این دو محور خیلی خیلی با هم اختلاف دارند اگه هر دو تای ارتفاع و چگالی رو تو یه نمودار بکشیم مطمئنا تغییرات چگالی به طور واضح دیده نخواهد شد. برای این کار باید از نمودارهایی با دو محور استفاده کنیم. شاید یکی از مهمترین این نمودارها تو مهندسی نمودار فشار - دما تو محاسبات حرارت و یا ترمودینامیک باشه.
برای فهم بیشتر ابتدا دستورات زیر رو توی command window اجرا کنید:
>>x = 0:0.01:20;
>>y1 = 200*exp(-0.05*x).*sin(x);
>>y2 = 0.8*exp(-0.5*x).*sin(10*x);
حالا می خواهیم هر دو نمودار y1 و y2 رو نسبت به xبکشیم. دستور زیر را اجرا کنید:
>>plot(x,y1,'b',x,y2,'g')
همانطور که میبینید (شکل 1) از اونجا که بازه تغییرات y1 خیلی بزرگتر از y2 هستش اصلا تغییرات y2 در این شکل دیده نمیشه و برای مثال شما نمیتونید همچین شکلی رو توی پایان نامه یا مقاله قرار دهید.
پس بهتر است که از یک نمودار با دو محور y استفاده کنیم که در یک محور نمودار y1 و در دیگری y2 را رسم کنیم. دستور نمودارهای دو محوره در متلب plotyy می باشد. دستور زیر را اجرا نمائید:
>> plotyy(x,y1,x,y2)
همانطور که دیده می شود (شکل 2) نموداری با دو محور y برای ما رسم می شود که در محور سمت چپ نمودار اولی یعنی y1 بر حسب x و در محور سمت راست نمودار دومی یعنی y2 بر حسب x رسم شده است. در این عکس می توان تغییرات y2 را به وضوح مشاهده نمود.
در رابطه به نمودار های دو محوره چندین بحث وجود دارد که باید به آنها اشاره کنیم:
1- چگونه یک محور و یا هر دو محور y و یا محور x را لگاریتمی کنیم؟
جواب: همانطور که می دانیم در نمودارهای دو بعدی نوع محورها می توانند خطی و یا لگاریتمی باشند.
در نمودارهای دو بعدی هم هر یک از محورها می توانند لگاریتمی و یا خطی باشند.