ش | ی | د | س | چ | پ | ج |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
رسم نمودارهای تو در تو با دستور axes در متلب
در نرم افزار متلب (Matlab)، می توان یک نمودار را در یک پنجره figure و با محورهای جدید و مقیاس جدید روی نمودار اول رسم کرد.
این ترفند با دستور axes انجام می گیرد. فرم کلی این دستور به صورت زیر است:
axes('position',[left, bottom, width, height])
این دستور دارای دو آرگومان ورودی است که اولی به صورت کاراکتری و دومی به صورت بردار است. دو عنصر اول بردار نشان دهنده مکان نمودار جدید و دو عنصر بعدی مشخص کننده اندازه آن است. این دستور مختصات (0و0) را برای گوشه سمت چپ، پایین و مختصات (1و1) را برای گوشه بالا، سمت راست، در نظر می گیرد. به مثال زیر دقت کنید:
x=linspace(0, 2*pi,100);
y=sin(x);
z=cos(2.*x);
plot(x,y);
axes('position',[0.34, 0.2, 0.35, 0.35]);
plot(x,z);
با این روش می توان بیش از یک نمودار را بر روی نمودار دیگر رسم کرد. به مثال زیر توجه کنید:
x=linspace(0, 2*pi,100);
y=sin(x);
z=cos(2.*x);
q=sqrt(x);
plot(x,y);
axes('position',[0.2, 0.2, 0.25, 0.25]);
plot(x,z);
axes('position',[0.5, 0.5, 0.25, 0.25]);
plot(x,q);
همچنین از این روش می توان برای بزرگ نمایی یا zoom بخشی از نمودار استفاده کرد. در مثال زیر با دستور xlim منحنی را در بازه 2<x<4 بزرگ نموده و با دستور axes آن را روی نمودار اصلی نمایش می دهیم:
x=linspace(0,20*pi,1e6);
y=exp(-x).*sin(10.*x);
plot(x,y);
axes('position',[0.3, 0.5, 0.3, 0.3]);
plot(x,y);xlim([2 4]);