mehvarmokhtasatمعکوس کردن ترتیب مقادیر نوشته شده بر روی محورهای مختصات، در یک شکل، در متلب :
هنگامی که یک شکل را در متلب به طور عادی رسم می کنیم، مقادیر نوشته شده بر روی محورهای مختصات، از کوچک به بزرگ می باشند، اما در مواردی نیاز داریم که این ترتیب برعکس شود و مثلا مقادیر نوشته شده بر روی محور x از شکل، از بزرگ به کوچک نمایش داده شوند. در این مبحث، با یک مثال، نحوه معکوس کردن ترتیب مقادیر نوشته شده بر روی محورهای مختصات شکل را شرح می دهیم.
به مثال زیر توجه کنید :
مثال :
ابتدا یک شکل را به صورت عادی رسم می کنیم :
[sdfile url=”http://sim-power.ir/wp-content/uploads/2014/11/mehvarmokhtasat.rar”]
سه خط اول کدها برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب می باشد. با دستور axis ، محدوده مقادیر محورهای مختصات را تعیین کرده ایم.
نتیجه :
اکنون یک خط کد اضافه می کنیم تا مقادیر محور x و محور y به صورت معکوس نوشته شوند (از بزرگ به کوچک) :
close all
clcx=0:0.1:2*pi;
y=sin(x);
plot(x,y)
axis([0 6.8 -1.5 2])
set(gca,’XDir’,’rev’,’YDir’,’rev’)
عبارت gca اشاره به شکل رسم شده فعلی دارد (current axes handle). بنابراین با دستور set ، یک سری ویژگی را برای شکل رسم شده فعلی تعیین کرده ایم. مشخصه XDir را برابر rev تعیین کرده ایم که باعث می شود مقادیر محور x ، به طور معکوس نوشته شوند. همچنین مشخصه YDir را برابر rev تعیین کرده ایم که باعث می شود مقادیر محور y ، به طور معکوس نوشته شوند.
نتیجه :
مشاهده می کنید که هم مقادیر محور x و هم مقادیر محور y ، به صورت معکوس نوشته شده اند.
حال کدها را به گونه ای تغییر می دهیم که تنها مقادیر محور x ، به طور معکوس نمایش داده شوند :
close all
clcx=0:0.1:2*pi;
y=sin(x);
plot(x,y)
axis([0 6.8 -1.5 2])
set(gca,’XDir’,’rev’)
نتیجه :
اکنون کدها را به گونه ای تغییر می دهیم که تنها مقادیر محور y ، به طور معکوس نمایش داده شوند :
close all
clcx=0:0.1:2*pi;
y=sin(x);
plot(x,y)
axis([0 6.8 -1.5 2])
set(gca,’YDir’,’rev’)
نتیجه :
رسم یک شکل با محور عمودی (محور y) دارای مقیاس لگاریتمی، با دستور semilogy در متلب :
با استفاده از دستور semilogy در متلب، می توانیم شکلی رسم کنیم که محور عمودی (محور y) آن دارای مقیاس لگاریتمی باشد.
به مثال زیر توجه کنید :
مثال :
مثال خود نرم افزار متلب :
close all
clcx = 0:.1:10;
semilogy(x,10.^x)
xlabel(‘x’)
ylabel(‘y’)
نتیجه :
رسم یک شکل با محور افقی (محور x) دارای مقیاس لگاریتمی، با دستور semilogx در متلب :
با استفاده از دستور semilogx در متلب، می توانیم شکلی رسم کنیم که محور افقی (محور x) آن دارای مقیاس لگاریتمی باشد.
به مثال زیر توجه کنید :
مثال :
مثال خود نرم افزار متلب :
close all
clcx = 0:0.1:10;
semilogx(10.^x,x)
xlabel(‘x’)
ylabel(‘y’)
سلام مهندس ببخشید چطور چهار ربع مختصات رو نشان دهیم
سلام بیشتر توضیح بدید مهندس جوادی
سلام مهندس جان.
چطور میشه داده های محور افقی را که بصورت عدد ۱۰ بتوان اعدای دیگر( مثلا ۱ و ۳و ۴ و..) هستند بصورت ساده تر و قابل فهم تر نوشت. بطوریکه تغییرات نمودار قابل فهم باشد؟
باید از طریق لگاریتم مبنای ده یا نپر استفاده کنید و لگاریتمی ترسیم بشه
سلام چطور نمودارداده های گسسته رو به صورت متقارن مثلا از -2 تا 2 رسم کنم … داده هایی که شما قراردادید اینجا به صورت متقارن توی محور نیستند.
به این لینک مراجعه کنید کامل توضیح داده
https://www.mathworks.com/help/matlab/ref/stem.html
سلام و خسته نباشید
ممنون از سایت خوبتون
برای بنده سوالی پیش اومده بود و اینکه برای اینکه بخواهیم در متلب مقیاس نمودار ها یکی باشند باید چکاری انجام داد به طور مثال در نمودار های بالا فاصله یک سانت روی محور افق با نیم سانت روی محور قایم تقریبا یکی هستند بصورت چشمی و راهکاری وجود داره که فاصله درست در بیایند
سلام و خسته نباشید
ممنون از سایت خوبتون
برای بنده سوالی پیش اومده بود و اینکه برای اینکه بخواهیم در متلب مقیاس نمودار ها یکی باشند باید چکاری انجام داد به طور مثال در نمودار های بالا فاصله یک سانت روی محور افق با نیم سانت روی محور قایم تقریبا یکی هستند بصورت چشمی و راهکاری وجود داره که فاصله درست در بیایند