ترفند متلب: ترسیم منحنی های سه بعدی در متلب

ترفند متلب: ترسیم منحنی های سه بعدی

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

ترفند متلب: ترسیم منحنی های سه بعدی

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

در اینجا قصد داریم، نمودار مربوط به تابع زیر را در متلب ترسیم نماییم:

$$z = \exp [-(x^2+y^2)]$$

فرض کنید که بازه تغییرات متغیرهای x و y ، هر دو بین 2- و 2 باشد. به این منظور تعریف می کنیم:

>> x=-2:0.2:2;
>> y=-2:0.2:2;

برای ترسیم منحنی های سه بعدی، می بایست تمام نقاط موجود در بردار x، با تمام نقاط موجو در بردار y ترکیب شوند و مقدار تابع در نقطه به دست آمده، محاسبه شود. برای این منظور، از تابع meshgrid به صورت زیر استفاده می کنیم:

>> [X,Y]=meshgrid(x,y);

حال مختصات بعد سوم را به صورت زیر محاسبه می کنیم:

>> Z=exp(-(X.^2+Y.^2));

داده های مورد نیاز برای ترسیم انواع منحنی های سه بعدی، آمده شده اند. می توانیم با فراخوانی دستورهای مربوطه، منحنی های مختلفی را ترسیم نماییم. نمونه ای از دستورهای قابل اجرا بر روی داده های به دست آمده، به همراه نمودارهای مربوط به هر دستور، در ادامه آمده اند:

دستور mesh:

این دستور برای ترسیم نمودارهای شبکه ای (اسکلتی) سه بعدی به کار می رود. برای اجرای این دستور این عبارت را وارد می کنیم:

>> mesh(X,Y,Z);

شکل به دست آمده پس اجرای دستور mesh - منبع: متلب سایت

دستور surf:

این دستور برای ترسیم نمودارهای سه بعدی سطحی (اسکلت به همراه سطح رنگی) به کار می رود. برای اجرای این دستور این عبارت را وارد می کنیم:

>> surf(X,Y,Z);

شکل به دست آمده پس اجرای دستور surf - منبع: متلب سایت

دستور contour:

این دستور سطح کانتوری مربوط به داده های سه بعدی را ترسیم می کند. هر چند نمودار به دست آمده پس از اجرای این تابع، یک نمودار دو بعدی است، اما برای ترسیم آن، می بایستی داده های سه بعدی ایجاد شده باشد. همچنین می توانید از دستورهای meshc و surfc برای ترکیب این نوع از نمودار با نمودارهای mesh و surf اسفتفاده نمایید. برای فراخوانی تابع contour این عبارت را وارد می کنیم:

>> contour(X,Y,Z);

شکل به دست آمده پس اجرای دستور contour - منبع: متلب سایت

در آینده منتظر ترفندها و نکات آموزشی بیشتری در این زمینه و سایر زمینه های برنامه نویسی متلب باشید.

2 پاسخ
  1. پرین
    پرین says:

    با سلام,من داده هایی دارم در سه بعد که با هم رابطه ندارن نمیدونم چطور توی سه بعد رسمشون کنم. اگه لطف کنید راهنمایی کنید ممنون میشم.

    پاسخ دادن
    • (روابط عمومی)
      (روابط عمومی) says:

      در پاسخ به پرین:
      با سلام،
      از تماس شما و مطرح کردن سوالتان با ما متشکریم.

      متاسفانه هیات علمی متلب سایت (فرادرس) به مکاتبات علمی شما دسترسی ندارند و همکاران دریافت کننده ایمیل های عمومی نیز توانایی و تخصص لازم جهت پاسخگویی به سوالات علمی را ندارند.

      از سوی دیگر نیز هیات علمی این پروژه جامع دانشگاهی، تمام توان و تمرکز خود را بر روی ارائه آموزشهای جدیدتر و بهینه سازی ساختار علمی سایت معطوف کرده و در عین تمام تمایل باطنی خود، به دلیل اولویت نیازهای سیستمی قشر بزرگتری از دانشجویان، از پاسخگویی به سوالات موردی علمی به دلیل محدودیت های تحمیل شده زمانی معذور هستند.

      مطمئن هستیم که این ناتوانی در پاسخگویی به سوال علمی شما، با نگرش مثبت شما نسبت به فعالیت سیستمی متلب سایت در گسترش دایره آموزش آکادمیک نادیده گرفته خواهد شد.

      پیشاپیش از بذل توجه شما به این موضوع متشکریم.

      پاسخ دادن

ارسال یک پاسخ

در گفتگو ها شرکت کنید.

پاسخ دهید

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

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>