روزهای خط خطی  | آموزش رسم نمودار دو بعدی در متلب

آموزش رسم نمودار دو بعدی در متلب

در بخش اول آموزش رسم نمودارهای دو بعدی در متلب می خواهیم با دستور plot آشنا شویم. plot یکی از دستورات پرکاربرد و البته منعطف متلب است که با استفاده از آن می توان انواع نمودارهای دو بعدی را به تصویر کشید. در قسمت های بعدی این سری آموزشی هم به روش هایی برای گسترش توانایی رسم نمودار در متلب خواهیم پرداخت.

البته plot برای رسم نمودارهای پیوسته استفاده می شود و چنانچه بخواهیم نموداری گسسته از یک متغیر گسسته رسم کنیم آنگاه باید از دستور stem استفاده کنیم. در ادامه ی مطلب استفاده از هر دوی این دستورها به صورت موازی مورد بحث قرار خواهد گرفت.

دستور plot را به چند شکل مختلف می توان به کار برد که در ادامه به ترتیب در مورد آن ها صحبت خواهیم کرد.

رسم یک متغیر در مقابل اندیس خودش

همانطور که می دانیم در متلب همه ی متغیر ها به صورت ماتریسی متشکل از چندین مقدار تعریف می شود و هر ماتریس یک اندیس دارد که با استفاده از آن می توان عناصر ماتریس را جداگانه شناسایی و فراخوانی کرد. مثلا می توانیم متغیری مانند fail داشته باشیم که قرار است تعداد دفعات خطا در خواندن مقادیر سنسورها را در آن دخیره کنیم و نموداری از این متغیر را رسم کنیم.

 Matlab M | 
 
 copy code |
?

1
fail = [5 2 0 3 1 6 2 1 1 0 0 3];
2
plot (fail);

خروجی دستور بالا نموداری شبیه شکل زیر به ما خواهد داد.

رسم نمودار در متلب - متغیر در مقابل اندیسالبته نمودار بالا خیلی مطلوب ما نیست و طبیعی است که بخواهیم برای مقادیر گسسته ی مثال یک نمودار گسسته رسم کنیم و به همین خاطر کد زیر را با دستور stem اجرا می کنیم.


 Matlab M | 
 
 copy code |
?

1
fail = [5 2 0 3 1 6 2 1 1 0 0 3];
2
stem (fail);

به این ترتیب نموداری مشابه شکل زیر خواهیم داشت.

رسم نمودار دو بعدی گسسته در متلب - متغیر در مقابل اندیسرسم دو متغیر در مقابل هم

حالا می خواهیم دو متغیر را در مقابل هم رسم کنیم. نکته ای که باید به آن دقت کنیم این است که دو متغیر لزوما باید هم اندازه باشند یعنی هر دو ماتریس های طولی با طول دقیقا یکسان باشند. برای نمونه نمودار sin را رسم می کنیم.

 Matlab M | 
 
 copy code |
?

1
clc;
2
clear all;
3
close all;
4
 
5
x = -pi:0.01:pi;
6
y = sin (x);
7
plot(x, y);

خط 1 اطلاعات موجود در command window متلب را پاک می کند. خط دوم کد همه ی متغیر های موجود در حافظه را پاک می کند. این دستور با پاک کردن نتایج موجود مربوط به برنامه هایی که قبلا اجرا کرده ایم از بروز مسائل ناخواسته جلوگیری می کند. خط سوم هم همه ی پنجره های فرعی متلب را می بندد. به این ترتیب بعد از اجرای سه خط اول کد بالا محیط متلب برای رسم نمودار ما آماده است.

در خط 5 کد متغیری به نام x تعریف می کنیم. مقادیر ایم متغیر از شروع شده و با گام 0.01 به ختم می شود. خط بعد سینوس x را ایجاد می کند و در نهایت در خط 7 تابع را رسم می کنیم. در مورد طول متغیرها باید گفت که با توجه به اینکه متغیر y نتیجه ی اعمال تابع سینوس روی متغیر x است پس لزوما این دو متغیر با هم هم اندازه بوده و از بابت رسم آن ها مشکلی نخواهیم داشت. شکل زیر هم نمودار رسم شده را نشان می دهد.

نمودار سینوس در متلبو اگر بخواهیم همین نمودار را در حالت گسسته و با دستور stem رسم کنیم نمودار به شکل زیر خواهد بود.

نمودار سینوس زمان گسسته در متلبرسم همزمان چند نمودار

مواردی هست که می خواهیم چند نمودار را به صورت همزامان روی یک شکل رسم کنیم یعنی چند زوج x و y داریم و می خواهیم نمودار مربوط به این زوج ها را روی شکل ببینیم مثلا می خواهیم سینوس و کسینوس را با هم مشاهده کنیم. برای این کار دستوری شبیه کد زیر نیاز خواهیم داشت.

 Matlab M | 
 
 copy code |
?

1
clc;
2
clear all;
3
close all;
4
 
5
x = -pi:0.1:pi;
6
y1 = sin (x);
7
y2 = cos (x);
8
plot(x, y1, x, y2);

همانطور که از شکل دستور مشخص است در چنین مواردی باید زوج ها را به ترتیب پشت سر هم وارد کنیم. معمولا برای اینکه نموداری که به این شکل رسم می کنیم معنا دار باشد خوب است که متغیر x همه ی زوج ها مانند مثال بالا یکسان باشد ولی در متلب رعایت این نکته الزامی نیست و می توانیم زوج های x و y را به صورت کاملا دلخواه انتخاب کنیم. تنها شرطی که باید رعایت کنیم این است که طول x و y هر یک از زوج ها با هم یکسان باشد. در نهایت کد بالا نموداری مانند شکل زیر برای ما ایجاد خواهد کرد.

رسم نمودار سینوس و کسینوس

20 پاسخ به “آموزش رسم نمودار دو بعدی در متلب”

  1. علی میتن گفت:

    سلام
    یه تشکر ویژه بابت مطلبی که قرار دادین
    من خیلی دنبال این موضوع گشتم ولی هیچ کدوم مثل این راحت و قابل فهم نبود
    واقعا ممنون
    موفق باشین

  2. majid گفت:

    سلام
    خیلی ممنون از وبسایت مفیدتان 🙂
    با تشکر فراوان

  3. ec گفت:

    سلام بسیییییییار ممنون

  4. Ehsan گفت:

    salam.ayaa mitava az file haye exel dar rasm e nemudar dar matlab bahre gereft?

  5. مجتبی گفت:

    سلام
    توابع چند ضابطه ای رو چجوری و با چه دستوری تو متلب بنویسم؟؟؟

    • امیدرضا امیدرضا گفت:

      سلام دوست عزیز،
      برای ایجاد توابع چند ضابطه ای در متلب می تونید از if استفاده کنید. به این ترتیب مثلا اگر x کوچکتر از a بود مقدار y را با استفاده از دستور ضابطه ی 1 و در غیر این صورت با استفاده از دستور ضابطه ی 2 محاسبه می کنیم.

  6. m.n گفت:

    سلام
    با مختصات چند نقطه چطور نمودار رسم کنیم؟؟؟؟

  7. سلام گفت:

    خدا قوت
    ممنون

    یه سوالی داشتم
    برای رسم نمودار در متلب باید کدوم پارت های متلب را رسم کنیم؟؟

    لطفا پاسخ دهید
    یا علی

    • امیدرضا امیدرضا گفت:

      سلام
      درست متوجه منظورتون نشدم. ولی اگر درست فهمیده باشم می خواهید بدونید که کدوم قسمت ها رو باید نصب کنید. تا جایی که من خاظر هست توابع مربوط به رسم نمودار جزء اصلی متلب هستند و برای استفاده از اونا لازم نیست پکیج خاصی نصب بشه.

  8. پرین گفت:

    سلام
    من میخام فرکانس یه سیگنال صحبت رو نشون بدم ولی دقیق به من فرکانس رو نمیده مثلا sin(2*pi*840*t) ولی متلب با دستور fft دقیق ۸۴۰ رو به من نمیده
    لطفا راهنمایی کنید.
    تشکر

  9. سجاد گفت:

    سلام ،خسته نباشید.
    من میخوام قسمتی از صفحه ی مختصاتم رو نقطه گذاری کنم. بعد به هر نقطه عددی را متناظر کنم.در اخر در هرنقطه خطی رسم کنم که شیب ان خط برابر با عدد متناظر اون نقطه باشه.لطفا راهنماییم کنید

  10. محمدحسن گفت:

    سلام
    با چه دستوری میشه داخل plot به صورت دستی نطقه اضافه کرد؟

  11. وحید گفت:

    سلام
    اگر کسی مشکلی داره و برنامه نویسی به زبان متلب می تواند ایمیل بزند
    vahidcs87@gmail.com

  12. afe گفت:

    سلام
    ممنون از پستی که گذاشتید
    ببخشید چجوری میشه توی محیط متلب نمودار ROC رسم کرد؟
    البته به راحتی کاری ک شما گذاشتین
    چون هرچی دانلود کردم خیلی سخت و غیر قابل فهم بوده و یا کدی که اصلاً معلوم نیس چی میگه
    توی help هم رفتم جوابمو نگرفتم
    لطفاً راهنماییم کنید
    واقعاً ممنون میشم

  13. نازیلا گفت:

    سلام من برنامه متلب میخواستم نمودار سه مقدار مثل تعداد لامپ .هزینه ریالی و میزان مصرف انرژی الکتریکی با هم در یک نمودار مقایسه کنم .لطفا راهنمایی کنید

    • امیدرضا امیدرضا گفت:

      شما می تونید یکبار نمودار تعداد رو در مقابل هزینه رسم کنید و بعد با دستور hold on نمودار رو حفظ کنید و یکبار هم نمودار تعداد رو در مقابل انرژی رسم کنید. در این حالت هر دو نمودار روی یک شکل نمایش داده میشن و چون محور افقیشون مشترکه فکر میکنم همونطور میشه که شما انتظار دارید.

  14. سعید گفت:

    واقعا عالی بود

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *