X
تبلیغات
رایتل

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

شنبه 23 بهمن 1389 ساعت 11:08 ب.ظ

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

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

فرض کنید که بازه تغییرات متغیرهای 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);





دستور surf:

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

>> surf(X,Y,Z);


دستور contour:

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

>> contour(X,Y,Z);