نمودارهاي ٢ بعدي مجموعه دستورات زير نحوه ترسيم يك تابع بر حسب يك متغير مستقل را نشان مي دهد:
» x=linspace(0,2); y=x.*exp(-x);
» plot(x,y)
» grid
» xlabel(‘x’)
» ylabel(‘y’)
» title(‘y=x.e^{-x}’)
» text(1,.2,’centre’)
هفت خط فوق به ترتيب اعمال زير را انجام مي دهند:
1- بردار متغيرهاي مستقل (x) و تابع (y) را ايجاد مي كند.
2- مقادير y را بر حسب x رسم مي نمايد.
3- شبكه را به نمودار مي افزايد.
4- توضيح محور افقي را مي نويسد.
5- توضيح محور عمودي را مي نويسد.
6- تيتر نمودار را در بالاي آن مي نويسد.
7- در نقطه مورد نظر ( در اين مثال نقطه (٢/٠ و ١) ) متغير حرفــي مشـخص شـده (در ايـن مثـال centre ) را مي نويسد.
مي توانيد نمودار ايجاد شده را به كمك دســتور Save As در منـوي File پنجـره نمـودار، ذخـيره نماييد. اين دستور نمودار را در يك پرونده كه نام آن را خودتان وارد خواهيد كرد و دنباله آن .ffig مي باشد ذخيره مي كند. شما مي توانيد ايــن نمـودار را در دفعـات بعـدي كـار بـا MATLAB بـا استفاده از دستور open بازيابي نماييد.
در هنگام رسم نمودارها مي توانيد از علامتهاي مختلف (بجاي خط) براي رسم توابع استفاده كنيــد.
همچنين مي توانيد بيش از يك تابع را در يك نمودار نمايش دهيد.
» plot(x,y,’.’,x,x.*sin(x),’-.’)
و در صورت لزوم نام توابع را نيز در همان نمودار نشان دهيد.
» legend(‘x.e^{-x}’,’x.sin x’)
مي توانيد بيش از يك نمودار را در يك پنجره نشان دهيد:
» subplot(2,1,1), plot(x,y)
» ylabel(‘x.e^{-x}’)
» subplot(2,1,2), plot(x,x.*sin(x))
» ylabel(‘x.sin x’)
دو عدد اول در دستور subplot تعداد تقسيمات صفحه را معين مي كنند (سطري و ستوني) و عــدد سوم مكان رسم نمودار (يا تغيير روي نمودار موجود) را مشخص مي نمايد.
نمودار را مي توانيد با استفاده از دستور clf پاك كنيد.
» clf
با استفاده از دستور figure مي توانيد پنجره جديدي براي رســم نمـودار بـاز نمـائيد. دسـتور axis حدود بالا وپايين محورهاي مختصات را به صورت يك بردار ارائه مي نمايد.
» figure(2)
» plot(x,y)
» axis ans =
0 2.0000 0 0.4000
» axis([0 .5 0 .3])
در تمامي مثالهاي بالا مقادير متغير مستقل و متغير وابسته به صورت دو بردار بر حســب هـم رسـم شده اند. در صورتي كه تابعيت متغير وابسته بر حسب متغير مستقل مشخص باشــد مـي توانيـد از دستور fplot براي رسم آن استفاده كنيد:
» fplot(‘x*exp(-x)’,[0 2])
آرگومان اول اين دستور يك بردار حرفي است كه مشخص كننده رابطه تابع (در صورت ساده بــودن رابطه تحليلي تابع، همانند مثال فوق) يا نام m-file حاوي تابع (كه جداگانه بايد ايجاد شــده باشـد) است. آرگومان دوم fplot يك بردار دو عضوي است كه حد پائين و بالاي متغير مستقل را مشـخص مي كند.
تعدادي از دستورهاي ترسيم دو بعدي در زير آورده شده اند:
نمودار نيمه لگاريتمي (محور x لگاريتمي)semilogx(x,y)
نمودار نيمه لگاريتمي (محور y لگاريتمي)semilogy(x,y)
نمودار تمام لگاريتمي loglog(x,y)
رسم در دستگاه مختصات قطبي polar(r,theta)
نمودار ميله اي bar(x,y)
area(x,y) نمودار مساحت
٥-٢ نمودارهاي ٣ بعدي دستورهاي زيادي در MATLAB براي ترسيم نمودارهاي سه بعدي وجود دارند. يك منحنــي سـه بعدي را مي توانيد به كمك دستور plot3 ببينيد:
» t=0:.01:6*pi;
» plot3(cos(t),sin(t),t)
» xlabel(‘cos(t)’)
» ylabel(‘sin(t)’)
» zlabel(‘t’)
سطوح سه بعدي را مي توانيد با استفاده از دستور surf ترسيم كنيد:
» [x,y]=meshgrid(-pi:pi/8:pi,-pi:pi/8:pi);
» z=cos(x).*cos(y);
» surf(x,y,z)
» view(30,45)
شبكه دو بعدي روي صفحهxy را ايجاد مي كند. بردارهاي ورودي به اين دستورمشخص كننده تقسيمات در جهات x و y هستند. سطح ايجاد شده را مي توانيد بــا كمـك دسـتورshading هموار كنيد. همچنين براي تطابق رنگها با اعداد محور z مـي توانيـد از دسـتور colorbar استفاده كنيد.
» shading interp
» colorbar
براي رسم سطوح سه بعدي از دسـتـورات ديگــري مـانند meshz ،meshc ،mesh و waterfall نـيز مي توانيد كمك بگيريد.
نمودارهاي ٥/٢ بعدي
نمودارهاي به اصطلاح ٥/٢ بعدي براي ديدن سطوح ٣ بعدي روي صفحـه مختصـات ٢ بعـدي بكـار مي روند. يكي از اين روشها رسم خطوط همتراز يك سطح است.
» [x,y]=meshgrid(-2:.1:2,-2:.1:2);
» z=2-((x-1).^2+4*(y-1).^2+2*x.*y);
» [c,h]=contour(x,y,z,[-15 -10 -5 -2 0 0.5]);
» clabel(c,h), xlabel(‘x’), ylabel(‘y’)
آرگومان چهارم در دستور contour برداري است كه بر اساس آن منحنيهاي همــترازي كـه مقـادير عددي آنها برابر با مولفه هاي آن بردار است روي نمودار نشــان داده خواهنـد شـد. دسـتور clabel مقادير خطوط همتراز را روي نمودار نشان مي دهد.
روش ديگر آن است كه سطح را از زاويه اي عمود بــر صفحـه xy نگريسـت و رنگـهاي متفـاوتي بـه مقادير مختلف z نسبت داد:
» pcolor(x,y,z)
» shading interp
» colorbar
با سلام
کد نویسی برنامه بصورت زیر برنامه بنویسد که مبلغی رابعنوان پس انداز ازما گرفته وسود آن را حساب کرده و مقدار نهای را به ما بدهد.
مقدار سود بانکی بصورت زیر است
اگرمبلغ کمتر از 5000باشد سود 9%
اگر مبلغ بین 5000تا10000باشد سود12%
و اگر مبلغ بیشتر از 10000باشد سود15%
با تشکر
ممنون از کدهای خوبتون. میخواستم بدونم چجوری میشه نمودار لگاریتمی بصورت پراکنده در متلب رسم کرد یعنی داده ها بصورت نقطه ای و در مقیاس لگاریتمی رسم شوند ولی خطی از آنها عبور داده نشود و صرفا نقاط رو نشون بده؟
سلام
تابعی متلب برای همین کار دارد.
semilogx و semilogy
شما باید بعد از دادن ورودیها مشخص کنید که به صورت نقطه ای می خواهید.
توضیحات بیشتر در سیر تا پیاز متلب
چطوری میشه توی نرم افزار متلب نمودار آنلاین کشید؟؟؟؟
مثلا با میکرو هر لحظه مقدار adc را از طریق پورت سریال بدیم به متلب،بعدش متلب همون لحظه مقدار adc دریافتی رو روی نموداری نشون بدهو.البته توی این نمودار باید مقادیر قبلی دریافتی هم نمایش داده بشه و همچنین مقادیری که هر لحظه دریافت میشن بصورت آنلاین نمایش داده بشه.
متلب این قابلیت را دارا می باشد. خود متلب در تولباکس شبکه عصبی از همین ویژگی استفاده می کند و نمودارهای آنلاین می کشد.
شما باید مقادیر را که وارد متلب می کنید در یک بردار بریزید و در ابتدا حلقه با دستور gcf صفحه نمایش را پاک کنید و سپس نمودار بردار جدید را نمایش بدید.
وقتی در حلقه این کار انجام بدید مقل این میمونه که در هر لحظه داره مقدار آنلاین را نمایش می دهد.
از hold on و hold off استفاده نکنید.
سلام،
من میخام روی نمودارهای میله ای که دارم مقدار انحراف استاندارد هر ستون به صورت خط افقی مثل نمودارهای اکسل، نشون داده بشه.
میشه لطفا راهنمایی کنین؟
سلام
از دستور stem استفاده کنید.
با سلام من میخوام یه نمودار بکشم در متلب ولی هیچ تجربه قبلی ندارم
امکانش هست داده ها رو براتون بفرستم و در مورد دستورات راهنمایی کنید؟خیلی ضروریه
ممنون میشم
سلام، به چه صورت با متلب میتونیم دیتاهای نمودارو در بیاریم مثل getdata
سلام خسته نباشید.از دستور polar برای رسم داده ها استفاده می کنم ولی به صورت curve به هم وصل نمیکنه نقاط رو.
سلام
گزینه
‘–‘
را در آخر دستور قرار دهید.