با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن. و کاربرانی که دوره کامل آموزش متلب را دنبال می کنند. تاکنون شما را با رسم نمودارهای ساده در متلب آشنا کردیم. با این قابلیت شما می توانید خطوط منحنی نمودارها را رسم کنید. اما متلب قابلیت های گرافیکی پیشرفته تری را برای رسم انواع نمودارهای میله ای ، شبکه ای ، امواج و … را نیز ارائه می دهد. با استفاده از این ابزار گرافیکی کامل رسم نمودار در متلب شما می توانید هر مجموعه ای از داده را در قالب نمودار مورد نظر خود در متلب رسم نمائید. از این رو ما مباحث این آموزش را به آشنایی با گرافیک در متلب اختصاص داده و رسم نمودارهای گرافیکی مختلف را بررسی می کنیم.
در ادامه ی آموزش آشنایی با گرافیک در متلب موارد زیر را بررسی خواهیم کرد:
دستور bar یک نمودار میله ای دو بعدی را رسم می کند.
مثال – فرض می کنیم که یک کلاس درس با ۱۰ دانش آموز را داریم.
همچنین نمرات دانش آموزان را ۷۵, ۵۸, ۹۰, ۸۷, ۵۰, ۸۵, ۹۲, ۷۵, ۶۰ فرض می کنیم.
حالا نمودار میله ای را برای داده های فوق رسم می کنیم:
یک فایل اسکریپت ایجاد کرده و کد زیر را در آن تایپ می نمائیم:
1 2 3 4 5 | x = [1:10]; y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95]; bar(x,y), xlabel('Student'),ylabel('Score'), title('First Sem:') print -deps graph.eps |
زمانیکه فایل فوق را در متلب اجرا کنید، نتیجه ی زیر را مشاهده خواهید کرد:
یک خط کانتوری (دایره ای) از دو متغیر یک منحنی تشکیل شده است که در آن تابع یک مقدار ثابت دارد.
خطوط کانتور برای ایجاد نقشه های کانتور با پیوستن به نقاط ارتفاع مساوی بالاتر از سطح داده شده، مانند یک دریاچه رسم می شوند.
متلب تابع contour را برای رسم خطوط کانتوری ارائه می دهد.
مثال – ما یک نقشه کنترلی ایجاد می کنیم که خطوط کانتور را برای یک تابع معین نشان می دهد.
تابع (g = f (x، y دارای دو متغیر است. بنابراین، ما باید دو متغیر مستقل ایجاد کنیم.
یعنی دو مجموعه داده x و y را ایجاد کنیم. که این کار با فراخوانی دستور mshgrid انجام می شود.
دستور meshgrid برای تولید ماتریس داده های دریافتی استفاده می شود که دامنه x و y را با مشخصات هر مورد ارائه می دهد.
ما تابع (g = f (x، y را برای مقادیر -۵ ≤ x ≤ ۵، -۳ ≤ y ≤ ۳ بکار می بریم.
1 | [x,y] = meshgrid(–5:0.1:5, –3:0.1:3); |
در نهایت، ما باید مقدار به تابع اختصاص دهیم. مقدار تابع ما: x2 + y2 خواهد بود.
یک فایل اسکریپت ایجاد کرده و کد زیر را در آن تایپ می نمائیم:
1 2 3 4 | x,y] = meshgrid(-5:0.1:5,-3:0.1:3); g = x.^2 + y.^2; contour(x,y,g) print -deps graph.eps |
زمانیکه کد فوق را در متلب اجرا کنیم نتیجه ی زیر را مشاهده خواهیم کرد:
ما کد فوق را کمی تغییر می دهیم تا جزئیات عددی را به خطوط اضافه کنیم:
1 2 3 4 | x,y] = meshgrid(-5:0.1:5,-3:0.1:3); g = x.^2 + y.^2; [C, h] = contour(x,y,g); set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2) print -deps graph.eps |
زمانی که کد فوق را در متلب اجرا کنید نتیجه ی فوق را مشاهده خواهید کرد.
رسم سه بعدی اساسا یک سطح تعریف شده توسط یک تابع را در دو متغیر نشان می دهد: (g = f (x، y
همانطور که قبلا برای تعریف g، ابتدا مجموعه ای از نقاط (x، y) را بر حوزه تابع با استفاده از دستور meshgrid ایجاد می کردیم.
سپس مقادیر را به تابع اختصاص داده و از دستور surf برای ایجاد یک طرح سطح ایجاد می کنیم.
مثال – ما یک نقشه ی سه بعدی برای تابع (g = xe-(x2 + y2 ایجاد می کنیم.
یک فایل اسکریپت ایجاد کرده و کدهای زیر را در آن قرار می دهیم:
1 2 3 4 | [x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps |
زمانیکه کدهای فوق را اجرا کنید شکل زیر را در متلب مشاهده خواهید کرد:
شما همچنین می توانید از دستور mesh برای تولید یک سطح سه بعدی استفاده کنید.
این وجود، دستور surf هم خطوط اتصال و هم چهره های سطح رنگ را نشان می دهد.
در حالی که دستور mesh یک سطح wireframe را با خطوط رنگی متصل می کند که نقاط تعریف را متصل می کنند.
نرم افزار متلب علاوه بر ارائه ی فرمول ها و توابع کامل پیشرفته برای محاسبات ریاضی یک ابزار کامل رسم نمودارهای گرافیکی را رسم انواع نمودارهای گرافیکی کاربردی در اختیار کاربران قرار می دهد. از این رو مباحث این بخش را به آشنایی با گرافیک در متلب اختصاص داده ایم.
مسعود
سلام من یه پایان نامه دارم پی دی اف فرمول ها و خرجی هاش هستن فقط کد هاشو میخوام کسی هست بتونه راهنمایی کنه ؟