آموزش برنامه نویسی متلب – بخش دوم ترسیم نمودارسهشنبه 05, مه 2020
آشنایی با محیط Matlab
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
چند ترسیم در یک صفحه در متلب
همانطور که قبلا بیان کردیم می توانیم در دستور plot چندین نمودار را به صورت یکجا رسم نماییم. اما اگر نتوانیم به صورت یکجا رسم کنیم و یا نخواهیم ترسیمات ما بر روی یکدیگر بیفتد باید چه کاری انجام دهیم.
در دستور plot قبل از ترسیم صفحه پاک می شود باید گفت که می توان دستور elf اجرا شود اما زمانی که بخواهیم بر روی یک نموداری که انجام شده است یک نمودار دیگری رسم کنیم و باید ترسیم قبلی پاک نشود می توان از دستور hold استفاده کرد که این کار را انجام می دهد.
Hold نگه داشتن ترسیم در متلب
با استفاده کردن از این دستور مانع از پاک شدن صفحه نمایش می شویم تا نمودارهای بعدی نیز روی نمودار اولی بیفتد. در این نمودارها همه رنگها و نوع خط ها یکسان خواهند بود زیرا به صورت جداگانه ترسیم می شود و از رنگ و نوع خط اولیه استفاده می شود. این دستور به صورت روشن و خاموش مورد استفاده قرار می گیرد.
Hold on
Hold off
نکته مهم: تا زمانی که دستور hold روشن می باشد هیچ نموداری پاک نمیشود و همه بر روی یکدیگر می افتند. اما بعضی وقتها نمی خواهیم نمودارها بر روی یکدیگر بیفتند بلکه در صفحات جداگانه ترسیم شوند به وسیله دستور subplot صفحه ترسیم را می توانیم به تعداد مشخص تقسیم نماییم. به وسیله این کد صفحه ترسیم را تقسیم می کنیم و نمودار مورد نظر را در قسمت مربوطه رسم می نماییم و سپس نام و تنظیمات را انجام خواهیم داد.
Subplot رسم چندین نمودار در یک صفحه در متلب
با استفاده از این دستور می توانیم که صفحه ترسیم را به چندین قسمت تقسیم نماییم. این دستور را به صورت زیر می توانیم استفاده نماییم.
با کمک این دستور می توانیم صفحه را به m سطر و n ستون تقسیم نماییم و قسمت p ام را آدرس دهی نماییم که شماره قسمت از ردیف بالا شروع می شود.
به مثال زیر دقت نمایید.
لطفا به تنظیمات subplot و همچنین ترسیم نمودارها دقت نمایید.
ترسیمات سه بعدی و سطوح در متلب
همانطور که مشاهده نمودید با کمک دستور plot می توانستیم نمودار دو بعدی رسم نماییم اما برای رسم نمودارهای سه بعدی باید از دستور plot3 استفاده نماییم.
Plot3 رسم سه بعدی
این دستور تابع را در سه بعد ترسیم می نماید.
به مثال زیر دقت کنید:
همانطور که مشاهده می نمایید نحوه ترسیم همانند دستور plot می باشد البته کی توانیم با استفاده از دستور plot3 سطوح و لایه ها را نیز ترسیم نماییم.
رسم سطح و لایه
رسم نمودن لایه و سطح با نمودار یکسان نمی باشد , نمودار یک منحنی می باشد و یا به بیان ساده تر یک خط است اما سطح اینگونه نیست و یک فضای پیوسته و لایه ای می باشد.
خودما می توانیم هر سطحی را که دلمان می خواهد بسازیم اما برای راحتی کار , یک تابع سطح, در خود متلب قرار داده شده است که با دستور peaks می توان به این سطح دست یافت.
Peaks سطح نمونه
همانطور که بیان کردیم یک سطح پیش فرضی در متلب موجود می باشد که با استفاده از این دستور می توان به این سطح دست پیدا کرد.
N دقت ترسیم را نشان می دهد ( بازه مربوط به عدد وارد شده تقسیم می شود و چقدر n بیشتر باشد قطعات کوچکتر و همینطور شکستگی نرم تر و رسم دقیقتر می شود) در صورتی که تمایل دارید یک سطح بسازید باید فاصله همه نقطه های موجود بر روی سطح یکسان و به طور مساوی پخش شده باشد و البته x y z را نیز بر حسب توابع بیان می نماییم. برای ایجاد نمودن سطح باید شبکه ای کامل و همگن را بسازیم منظور از شبکه خطوط , خطوط عمودی بر هم است که محل تقاطع مکان نقاط سطح را نمایش می دهد.
در نرم افزار متلب شبکه را می توانیم با کمک دستور meshgrid بسازیم
Meshgrid تشکیل شبکه درمتلب
با این دستور می توانیم یک شبکه برای ایجاد کردن سطوح طراحی نماییم
اگر یک مثال ساده بتوانیم برای این دستور بیان کنیم خواهیم داشت:
مشاهده می نمایید که این دستور ماتریس ۲*۲ را برای ما می سازد و اگر بیشتر توجه کنید خواهید دید که هر کدام از سطر y و یا ستون x می تواند معرف یک خط باشد به عبارتی معرف یک سری خط موازی عمودی و افقی که با تعریف z می توانیم به یک سطح دست پیدا کنیم
دقت کنید که z را بر اساس مقدارهای x و y به دست می آوریم ( همانطور که می دانید x2 یک تابع دو بعدی کاسه ای می باشد و y2 نیز همچنین و وقتی این دو در جهت های x و y با یکدیگر ترکیب شوند یک کاسه سه بعدی ساخته می شود.)
با استفاده از دستور mesh سطح مربوطه را می توانیم رسم نماییم
همانطور که میبینید دقت ترسیم بسیار پایین می باشد و دلیل آن نیز تعداد تقسیمات کم است.
Mesh رسم شبکه تشکیل شده در متلب
این دستور شبکه تشکیل شده را برای ما رسم می کند
سطحی که نوسط این دستور نمایش داده می شود صرفا یک شبکه می باشد.این دستور به صورت زیر نوشته می شود
که x,y,z با meshgrid تعیین می شوند. مثال این دستور را ذکر نموده این حال رسم دقیق آن را با دستورات زیر بررسی می نماییم.
در این مثال مشاهده می کنید که در خط چهارم دستور colorbar استفاده شده است که این دستور سبب به وجود آمدن یک میله رنگی معرف ارتفاع سطح و سطر آخر عنوان رسم را نمایش می دهد.
در اینجا آشنایی با محیط متلب بخش دوازدهم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده: زهرا رستمی
دیدگاهتان را بنویسید