آموزش برنامه نویسی متلب
موضوع:رسم نمودار دوبعدی در متلب
جلسه:شانزدهم
مدرس : پدرام مشهدی زاده
متلب را ساده،آسان و شیرین بنوشید!!!
تدریس خصوصی آنلاین و از راه دور متلب(MATLAB) با مدرس های حرفه ای و با تجربه [اینجا کـــــلیک کــــنید]
یکی از قابلیت های اصلی متلب در visualization یا بصری سازی داده هاست. رسم نمودارهای دوبعدی که شامل توابع، رابطه ها، نمودارهای آماری مثل هیستوگرام و نمودار دایره ای و میله ای و همچنین نمودارهای سه بعدی از جمله این قابلیت هاست.
این جلسه یادگیری نمودارهای دوبعدی را آغاز میکنیم.
- plot(x,y) :
اگر x و y بردارهای هم اندازه باشند، در صفحه مختصات کارتزین درایه های y را نظیربه نظیر برحسب درایه-های x رسم کرده و سپس این نقاط را به هم وصل نموده تا نمودار پیوسته ای به دست آید:
>>x = linspace(0,2*pi,100); y = sin(x); >>plot(x,y) |
پنجره ای با نام figure1 بازمی شود:
برای اینکه چند نمودار را در یک پنجره Figure ببینیم میتوان به یکی از روش های زیر عمل کرد:
- plot(x1,y1,x2,y2,…,xn,yn) :
دستور فوق مقادیر y را به ازای x نظیر خود رسم نموده:
>>x = linspace(0,2*pi,50); >>y = sin(x); >>z = cos(x); >>plot(x,y,x,z) |
نمودار sin(x) مشابه قبل با رنگ آبی رسم شد و نمودار دوم که cos(x) است با رنگ سبز به نمودار قبل اضافه شد.
چنانچه نمودارهای بیشتری هم وارد کنیم به طور خودکار به هر نمودار یک رنگ اختصاص مییابد.
اما روش دیگر به شکل زیر است:
>>w = [sin(x') cos(x')]; >>plot(x',w(:,1),x',w(:,2)) |
نتیجه دستورات فوق عیناً مشابه قبل است. در واقع w یک ماتریس n*2 بوده که هر ستون آن را به ازای مقادیر x رسم میکند. دقت شود که x را به شکل ستونی وارد کردیم.
- hold :
این دستور نمودار فعلی را در پنجره Figure حفظ نموده و نمودارهای بعدی را به این پنجره اضافه میکند:
>>x = linspace(0,2*pi,50); >>y = sin(x); >>plot(x,y) >>hold Current plot held >>z = cos(x); >>plot(x,z) >>w = cos(x - pi/4); >>plot(x,w) |
در صورت وارد نمودن مجدد hold، وضعیت به حالت قبل برمی گردد. از hold on و hold off هم میتوان استفاده نمود.
- figure :
با هربار وارد کردن دستور plot، نمودار قبلی پاک شده و نمودار جدید جایگزین آن میشود. برای اینکه نمودار جدید در یک پنجره جداگانه ایجاد شود، دستور فوق را وارد کرده که ابتدا یک پنجره Figure خالی باز کرده سپس در صورت استفاده از دستور plot، نمودار در پنجره جدید رسم میشود.
figure(n) که n یک عدد صحیح مثبت است، پنجره ای با نام Figure n ایجاد نموده و دستورات plotای که بعد از آن وارد میشوند را در این پنجره وارد میکند.
از این دستور برای حرکت بین پنجره های باز نیز استفاده میشود. بدین شکل که پنجره انتخابی به عنوان پنجره جاری انتخاب و دستورات جدید در پنجره n اعمال میشوند.
- clf :
محتویات پنجره جاری را پاک میکند.
- xlabel(‘ …’) :
یک رشته متنی به عنوان محور افقی اضافه میکند.
- ylabel(‘ …’) :
یک رشته متنی به عنوان محور عمودی اضافه میکند.
- title(‘…’) :
اضافه کردن نامی به عنوان نمودار:
>>figure(2),plot(x,sin(x)) >>xlabel('x') >>ylabel('y') >>title('sin(x)') |
- legend(‘legend1’,’legend2’,…,’legendn’) :
برچسب توضیحات نمودار ایجاد میکند:
legend('cos(x)','sin(x)','cos(x-\pi/4)') |
- plot(x1,y1,’c1s1’,x2,y2,’c2s2’,…) :
شکل کامل تر دستور plot() که در آن c1 یکی از مقادیر زیر بوده :
b, g, r, k, y, c, w, m
که به ترتیب از چپ به راست تعیین کننده رنگ های آبی، سبز، قرمز، سیاه، زرد، آبی فیروزه ای، سفید و بنفش میباشند و s1 که تعیین کننده نوع خطوط اتصال است:
-, - -, .-, o, p, h, : +, *, +
مثال:
>>plot(x,y,'k--') >>hold Current plot held >>plot(x,z,'g+') >>plot(x,w,'r.-') |
- grid, grid on, grid off :
حالت شطرنجی نمودار را فعال یا غیرفعال میکند.
- axis off, axis on :
محورهای نمودار را به ترتیب فعال و غیرفعال میکند.
- axis([xmin xmax ymin ymax]) :
محدوده محورهای افقی و عمودی که را تعیین میکند.
- cla :
محتویات نمودار را پاک میکند.
- clf :
محتویات پنجره جاری را پاک میکند.
- clf reset :
تغییرات ایجاد شده در پنجره را به حالت پیش فرض برمی گرداند.(مثل رنگ پس زمینه که دستورات آن بعدا توضیح داده خواهد شد.)
- zoom :
حالت زوم را در پنجره جاری فعال/غیرفعال میکند.
- text(x,y,’text’) :
x و y مختصات یک نقطه دلخواه در صفحه میباشند. text را در این نقطه چاپ میکند:
>>plot(x,y,x,z) >>text(2.5,.8,'sin(x)') >>text(4.5,.8,'cos(x)') |
- gtext(’text’) :
این دستور مشابه دستور قبلی است با این تفاوت که مختصات متن واردشده به طور دستی توسط اشاره-گر موس وارد میشود.
- box off/on :
محدوده دور نمودار را نمایان یا محو میکند.
- xlim :
محدوده تغییرات محور افقی را برمی گرداند:
>>xlim ans = 0 7 - xlim([xim xmax)] : |
محدوده تغییرات محور افقی را بین دو مقدار xlim و xmax تعیین میکند.
- xlim(‘mode’) :
محدوده تغییرات x را بین دو حالت manual که حالت تعیین به طور دستی است و auto که به طور خودکار است، تعیین میکند.
- ylim :
مشابه xlim برای محور عمودی است.
- subplot(m,n,p) :
از این دستور برای ترسیم چند نمودار در یک figure استفاده میشود. ابتدا صفحه figure را به m سطر و n ستون تقسیم میکند. هر یک از m*n بخش، مربوط به یک نمودار است. شماره هر بخش توسط p تعیین میشود. نحوه شماره گذاری نیز به صورت سطری است. دستور ترسیمی که بعد از subplot(m,n,p) میآید، نمودار را در بخش pام رسم میکند:
>>subplot(2,2,1),plot(x,y) >>subplot(2,2,2),plot(x,z) >>subplot(2,2,3),plot(x,2*y) >>subplot(2,2,4),plot(x-pi/2,z) |
نتیجه دستورات فوق را در شکل زیر میبینیم:
به همین ترتیب برای هر نمودار میتوان یک عنوان، برچسب نمودارها، رسم همزمان چند تابع در یک نمودار و ... را انجام داد.
- نکته: subplot(m,n,p,’replace’) نمودار مربوطه را پاک میکند:
>>subplot(2,2,4,'replace') |
نکته: در صورتی که تعداد سطر و ستون ها تک رقاست،برای راحتی فرمت زیر را نیز میتوان به کار برد:
>>subplot(221) >>subplot(236) |
پیروز و موفق باشید
جلسه شانزدهم | رسم نمودار دوبعدی در متلب
فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690