ارسال پاسخ 
 
امتیاز موضوع:
  • 49 رأی - میانگین امتیازات : 2.78
  • 1
  • 2
  • 3
  • 4
  • 5

رسم پوسته و کانتور در MATLAB

۱۳۹۰/۶/۹, ۱۲:۴۹ عصر (آخرین ویرایش در این ارسال: ۱۳۹۰/۶/۹ ۰۱:۲۹ عصر، توسط amir.)
ارسال: #1

رسم پوسته و کانتور در MATLAB


یکی از مسائل پر کاربرد در MATLAB، ابزارهای گرافیکی متلب می باشد. در این بخش به نحوه ترسیم کانتور و پوسته می پردازیم.

برای رسم یک نمودار سه بعدی در MATLAB ابتدا لازم است محدوده رسم را مشخص کنید، برای ایجاد محدوده رسم نیاز است تا مختصات x و y نقاط در دو ماتریس که اعضای متناظر آنها با هم بیانگر مختصات یک نقطه می باشند، تعریف گردد. در عمل انجام این کار جز در رسم نمودارهای خاص زمان بر و بسیار پیچیده می باشد. به همین دلیل متلب تابع (meshgrid) را برای این تقسیم فضای رسم به نقاط گسسته به وجود آورده است. فرض کنید محدوده رسم x از 1 تا 3 با گام 0.1 و محدوده رسم y از 0 تا 5 با گام 0.15 باشد.

کد:
[این بخش برای برخی از گروه های انجمن در دسترس می باشد.]
[ثبت نام کنید]

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


برای رسم این تابع می توان به صورت زیر عمل نمود.

کد:
[این بخش برای برخی از گروه های انجمن در دسترس می باشد.]
[ثبت نام کنید]

در کد بالا، حتما دقت شود که در تعریف z از ضرب (یا توان و تقسیم و ... ) و به طور کلی از عملیات نقطه ای یا عضو به عضو استفاده شود. همچنین برای مشخص کردن زیر نویس محور ها از توابع label بهره گرفته شده است.

رسم کانتور نیز مشابه رسم تابع surf می باشد. برای این کار می توان تابع surf را با یک تابع خانواده کانتور مانند contour تعویض نمود.

لذا کافی است که در کد بالا به جای استفاده از surf بنویسیم.

کد:
[این بخش برای برخی از گروه های انجمن در دسترس می باشد.]
[ثبت نام کنید]

که در این حالت f(x,y) با 20 خط کانتور (یا هر عددی که وارد نموده باشید) رسم می گردد. در رسم کانتور رایج است که ارتفاعات بر روی کانتور رسم گردد که برای این کار می توان از خروجی تابع کانتور و تابع clable به صورت زیر استفاده نمود.

کد:
[این بخش برای برخی از گروه های انجمن در دسترس می باشد.]
[ثبت نام کنید]

خروجی c و h در اینجا به ترتیب به ماتریس ضرایب کانتور و هندل گرافیکی کانتور میباشد که بحث درباره آن خارج از اهداف این مقاله مقدماتی است.

برای رسم توابع پوسته ها هم چنین می توان از توابع آسان سری ez استفاده نمود. در این حالت نیازی به تعریف هیچ متغییر، محدوده نمیباشد و MATLAB به صورت خودکار تمامی پارامترهای لازم را برای رسم خود تعیین می کند. در این مثال می توانستید از دو تابع ezsurf و ezcontour استفاده کنید که در زیر آمده است.

کد:
[این بخش برای برخی از گروه های انجمن در دسترس می باشد.]
[ثبت نام کنید]
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس شده توسط amines ، maapor ، rahamodiry ، angella
ارسال پاسخ 




کاربرانِ درحال بازدید از این موضوع:
1 مهمان

بازگشت به بالابازگشت به محتوا