عکس پیش‌فرض نوشته

نرم افزار Matlab یکی از پر کاربردترین نرم افزارهایی است که در  رشته‌های مختلف از جمله مهندسی برق، مکانیک، رایانه و… کاربرد بسیاری دارد. واژه متلب از ترکیب دو واژه MATrix (ماتریس) و LABoratory (آزمایشگاه) ایجاد شده‌است.

رسم نمودار در متلب

کار کردن با ماتریس‌ها در متلب بسیار ساده است. در حقیقت تمام داده‌ها در متلب به شکل یک ماتریس ذخیره می‌شوند.

در این قسمت ما قصد داریم تا با نحوه رسم نمودار دو بعدی در این نرم افزار آشنا شویم.

 

— تابع plot

شکل کلي:

plot (x1,y1,’c1s1’,x2,y2,’c2s2,x3,y3,’c3s3’,…)

 در اين رابطه، Sn مي‌تواند هر يک از کاراکترهاي زير باشد:

 . , o , x , + , – , * , -. , — , penta , hexa

 و Cn نيز مي‌تواند يکي از رنگهاي زير باشد:

y , m , c , r , g , b , w , k

که به ترتيب معرف رنگهاي زرد، سرخابي، فيروزه‌اي، قرمز، سبز، آبي، سفيد و سياه مي‌باشد.

مثال:

>> x= linspace(0,2*pi , 30); y= sin(x);
>> plot(x,y);

نمودار در متلب

 

— رسم چند نمودار مجزا در يک پنجره شکل

بمنظور تقسيم پنجره شکل به چند بخش مي‌توان از تابع subplot استفاده کرد.

شکل کلي:

subplot( m ,n , p)

در اين رابطه m تعداد بخشهاي افقي، n  تعداد بخشهاي عمودي و p شماره بخش جاري است. هر دستور ترسيمي بعداز اين دستور در مکان p ام اعمال خواهد شد. خانه‌ها بصورت ستوني شمارش مي‌شوند.

واضح است که مقدار  p بايد بين 1 و m*n باشد در غير اينصورت متلب اعلان خطا مي‌کند.

>> x=linspace(0,2*pi,30);
>> subplot(2,2,1);plot(x,sin(x));
>> subplot(2,2,2);plot(x,cos(x));
>> subplot(2,2,3);plot(x,tan(x));
>> subplot(2,2,4);plot(x,sin(x)+cos(x));

نمودار در متلب

 

— برچسب گذاري محورهاي افقي و عمودي و عنوان:

بمنظور برچسب‌گذاري محورها و ايجاد عنوان براي نمودار مي‌توان از توابع xlabel, ylabel , title استفاده کرد.

 >> xlabel(‘ يک رشته متني‘);

>> ylabel(‘ يک رشته متني‘);

>> title(‘ يک رشته متني‘);

 اين دستورات بر روي آخرين نمودار ترسيم شده اعمال ميشوند بنابراين بعد از هر دستور plot يا دستور ترسيمي ديگر بلافاصله بايد از اين دستورات استفاده گردد.

 

— رسم خطوط شبکه‌اي بر روي نمودار

بمنظور ايجاد خطوط شبکه‌اي (چهارخانه‌هاي نقطه‌چين) بر روي يک نمودار، مي‌توان از دستور grid استفاده کرد. شکل کلي استفاده از دستور grid بصورتهاي زير است:

>> grid on   حالت شبکه‌اي را فعال مي‌کند

>> grid off حالت شبکه‌اي را غير فعال ميکند

>> grid  حالت شبکه‌اي را از فعال به غيرفعال و از غير فعال به فعال تغيير مي‌دهد

 

— ايجاد پنجره شکل جديد

بصورت پيش‌فرض در متلب هر نمودار جديد جايگزين نمودار قبلي در همان پنجره شکل ميگردد. در صورتيکه بخواهيم چند نمودار در پنجره‌هاي شکل جداگانه ترسيم شوند از دستور figure استفاده مي‌کنيم

 >> figure;

اين دستور باعث مي‌شود که يک پنجره شکل جديد باز شده و نمودار بعدي در آن پنجره ترسيم گردد.

 

— افزودن متن به نمودار

با استفاده از توابع text و gtext مي‌توان متني را به نمودار اضافه کرد:

>> text(x,y,’رشته متني’)

>> gtext(‘رشته متني’)

 دستور اخير اجازه مي‌دهد که ناحيه قرار گيري رشته متني را بتوان با ماوس انتخاب کرد.

 

— افزودن راهنماي علائم:

>> legend

مثال:

x=linspace(0,2*pi,30);
y=sin(x);
z=cos(x);
plot(x,y,’g-.’,’b-’);
legend(‘sin(x)’,’cos(x)’);
title(‘Sin(x) and Cos(x) curves);

نمودار در متلب

 

— دستور axis

با استفاده از اين دستور مي‌توان دامنه ترسيم را تغيير داد:

axis([xmin,xmax,ymin,ymax,zmin,zmax])

 نمودار در دامنه xmin تا xmax ، ymin تا ymax و… ترسيم مي‌گردد.

axis off  محورهاي مختصات را حذف مي‌کند

axis on  محورهاي مختصات را ترسيم مي‌کند

 

— دستور hold

بصورت پيش‌فرض متلب هر نمودار جديد را جايگزين نمودار قبلي ميکند، اگر بخواهيم بدون پاک شدن نمودار فعلي نمودار جديدي اضافه کنيم بايد از دستور hold استفاده نماييم:

hold on  فعال

hold off  غير فعال

hold  تغيير حالت

 

— دستورات مفید دیگر:

clf:  محتويات پنجره شکل جاري را پاک مي‌کند

cla: محتويات نمودار جاري را پاک ميکند

zoom:  حالت زوم را فعال يا غير فعال مي‌کند

ginput:  براي گرفتن مختصات يک يا چند نقطه از نمودار با استفاده از ماوس

 

— ساير نمودارهاي دوبعدي

علاوه  بر plot دستورات ترسيم نمودارهاي دوبعدي ديگري نيز در متلب وجود دارد که عبارتند از:

polar:  ترسيم نمودار در مختصات قطبي

fill:  ترسيم نواحي بسته دو بعدي(چندضلعي‌ها)

semilogx, semilogy, loglog:

ترسيم نمودار در مختصات لگاريتمي

stairs:  ترسيم نموار پله‌اي

hist:  ترسيم نمودار فراواني

bar:  ترسيم نمودار ميله‌اي

این آموزش بیش از ۳ سال قبل ارسال شده و اکنون در لیست به‌روزرسانی‌های سایت قرار دارد. اگر پیشنهاد یا انتقادی برای بهبود آموزش دارید، خوشحال می‌شیم به ما اطلاع بدهید.