آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB

ترسیم نمودارهای دو بعدی


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


روش اول ایجاد بردار در MATLAB:

میخواهیم برداری ایجاد کنیم که مقدار اولیه ی آن 10- و مقدار نهایی آن 10+ است

x=[-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10]

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

روش دوم ایجاد بردار در MATLAB:

x=  انتهای بازه  :  مقدار گام  : ابتدای بازه  ;

x=-10:1:10;

در این روش ما آمدیم و از 10- شروع کرده و یکی یکی اضافه کردیم تا به ده رسیدیم این یکی از ساده ترین روشهای ایجاد بردار در نرم افزار MATLAB است.


روش سوم ایجاد بردار در MATLAB:

x=linspace(تعداد اعدادی که میخواهیم در این بازه داشته باشیم,انتهای بازه ,ابتدای بازه);

x=linspace(-10,10,21);

در این روش بردار بر اساس مقدار ابتدا و انتها و اعدادی که در بین آنها قرار میگرد ایجاد میشود .یعنی برداری میخواهیم که ابتدای آن 10- و انتهای آن 10+ باشد و بعلاوه از  19 عدد که با دو مقدار ابتدا وانتها میشود 21 عدد هم تشکیل شده باشد



عملگر نقطه "."  در نرم افزار MATLAB

هر گاه این عملگر قبل از ضرب و تقسیم و توان بیاید برروی هر کدام از اعضای بردار به طور جداگانه اعمال میشود.

برای مثال ما هیچ گاه نمیتوانیم یک بردار مثل بردار شکل زیر را به توان 2 برسانیم امابه کمک این عملگر میتوانیم هر کدام از اجزای آن را به توان 2 برسانیم.

دو بردار زیر را در نظر بگیرید.

d1=[1 2 3 4];

d2=[-1 1 -4 4];

اگر یکی از بردارها را به توان برسانیم با پیغام خطا مواجه خواهیم شد

d1^2;       #Error

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

g=d.^2;  ==> خروجی دستور==>    g=[1 4 9 16]

از لحاظ منتطقی هیچ گاه نمیتوان دو بردار دلخواه را در هم ضرب کرد. برای مثال ضرب زیر به شما خطا میدهد.

g1=d1*d2        #Error

اما میتوان هر ارایه ی نظیر یک بردار را در ارایه ی نظیر بردار دیگر ضرب کرد که این کار با ضرب نقطه ای انجام میشود.یعنی یک نقطه قبل از ضرب قرار میگیرد.

g2=d1.*d2     ==> خروجی دستور==>     g2=[-1 2 -12 16]

ابتدا با ساده ترین حالت مربوط به ترسیم نمودارهای دو بعدی شروع میکنیم. x  در اینجا متغی مستقل است و y متغیر وابسته.

دانلود فایل متلب نوشته شده

ترسیم نمودارهای دو بعدی

بعد از یادگیری مفهیم فوق با یک مثال ساده شروع میکنیم.

ترسیم تابع زیر در بازه ی 10- تا 10+

y=sin(50*x)+0.01*x^3;

ابتدا تابع ایکس را به تعدا تقسیمات لازم در بازه ای که نیاز داریم ایجاد میکنیم

x=-10:1:10;

پس از آن متغیر وابسته ی y را به صورت بردار و با استفاده از "عملگر نقطه" در هر جا که لازم باشد ایجادمکنیم

y=sin(50.*x)+(0.01).*x.^3;

به عملگر نقطه قبل از ضرب و توان دقت نمایید.

بعد از آن با استفاده از دستور plot ترسیم انجام خواهد شد.

با استفاد از دستور زیر میتوانید عنوانی برای نمودار انتخاب کنید.

title('your Title');

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

xlabel('Time');
ylabel('Displasement');

با استفاده از دستور زیر میتوانید برچسبی برای نمودار ایجاد کنید

legend('blue');

با استفاده از این دستور میتوانید هر متنی را در هر نقطه ی دلخواه از نموار بنویسید.

text(-6,6,' \uparrow www.mechanicsoft.ir','FontSize',18);

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

%% 2D Plot in Matlab www.mechanicsoft.ir
x=-10:1:10;
y=sin(50.*x)+.01.*x.^3;
plot(x,y)
title('plot f(x)=sin(50.*x)+.01.*x.^3');
xlabel('Time');
ylabel('Displasement');
legend('blue');
text(-6,6,' \uparrow www.mechanicsoft.ir','FontSize',18);

Capturedd.jpg
دانلود فایل متلب نوشته شده

ترسیم چند نمودار دو بعدی جهت مقایسه

روش اول

فرض بفرمایید میخواهیم چند نمودار دلخواه که همگی تابعی از x هستند را ترسیم کنیم

ابتدا متغیر مستقل و متغیرهای وابسته تعریف میشوند.

x=-10:1:10;
y=sin(50.*x)+.01.*x.^3;
z=cos(50.*x)-.01.*x.^4;
w=-cos(50.*x)+.01.*x.^4;

پس از آن بطور ساده میتوان با استفاده از دستور زیر ترسیم چند نمودار را انجام داد.

plot(x,y,x,z,x,w)

اگر بخواهید برای هر نمودار رنگ دلخواه را استفاده کنید باید به صورت زیر عمل کنید
.
figure(2);plot(x,y,'b',x,z,'g',x,w,'r')
که در آن رنگها به صورت زیر است.'r'  رنگ قرمز،'g' رنگ سبز، 'k' رنگ مشکی، 'c' رنگ ابی کمرنگ(کاین )، 'm' رنگ صورتی پر رنگ(مگنتا)، 'b' رنگ آبی و ... است. برای بقیه رنگ ها میتوان از دستور دیگری هم استفاده کرد که بعدا تضیح خواهم داد.

خوب تا اینجا رنگ هر نمودار مشخص شد اما شاید نخواهیم که نمودارها همه خط باشند مثلا یک نمودار "-.-.-" باشد، یک نمودار "- - -" باشد و یک نمودار " ____" باشد، یک نمودار به صورت دایره دایره باشد و غیره...که به صورت زیر اعمال میشود

figure(2);plot(x,y,'--b',x,z,'.-g',x,w,':r')در مثال فوق خط آبی را به صورت "_ _" و خط سبز را به صورت ".-.-" و خط قرمز را به صورت خطوط "--"ترسیم کرده ایم.
"b:" خطوط تکه تکه ی کوتاه و آبی رنگ
"r:" خطوط تکه تکه ی کوتاه و قرمز رنگ
"g-." خط نقطه سبز رنگ
"k- -" خط نقطه ی بلند سیاه رنگ
"ob"  خطوط دایره دایره ابی
"xr"   خطوط ستاره قرمز رنگ
و ....
تنها نکته ی دیگری که باید به خاطر داشته باشید نکته ی مربوط به برچسب گذاری است که در اینجا به دلیل وجود سه نمودار نیاز به سه برچسب هست

legend('blue','green','red');

در نهایت کد نوشته شده به همراه نمودارها در زیر نشان داده شده است.


%% 2D Multi Plot in Matlab www.mechanicsoft.ir
x=-10:1:10;
y=sin(50.*x)+.01.*x.^3;
z=cos(50.*x)-.01.*x.^4;
w=-cos(50.*x)+.01.*x.^4;
figure(2);plot(x,y,'--b',x,z,'.-g',x,w,':r','LineWidth',2)
title('plot f(x)=sin(50.*x)+.01.*x.^3');
xlabel('Time');
ylabel('Displasement');
legend('blue','green','red');
text(-7,-100,'  www.mechanicsoft.ir','FontSize',18);

f1.jpg

دانلود فایل متلب نوشته شده

روش دوم

در این روش نیازی نیست که کلیه نمودارها با هم رسم شوند بلکه هر کدام جداگانه با دستور پلات رسم میشود و پس بعد از آن از دستور hold on استفاده میشود این دستور به این معنی است که میگوید نمودار ترسیمی قبلی را نگه دار تا نمودار ترسیم بعدی نیز روی آن رسم شود. که دستور آن به صورت زیر میشود.

بعلاوه در کد زیر آمده ام و جزئیات مربوط به رنگ را گسترده تر کرده ام به عبارتی شما هر رنگ دلخواهی را با سه عدد مختلف بردار نشان میدهید. که تمام رنگها بین رنگ سیاه با بردار [0،0،0] و رنگ سفید با بردار [1،1،1] قرار دارند.

بعلاوه در ترسیم از شکلهای خطوط دایره و ستاره استفاده شده است.

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

دانلود فایل متلب نوشته شده

f2.jpg


در پست های آتی در مورد نحوره ترسیم سه بعدی و  مشخصات و ویژگیهای آن به طور کامل بحث خواهد شد.


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





مطالب مشابه :


ایران اهدا

همه چیز در مورد شیراز مبتکر طرح ثبت نام داوطلبانه اهدا اعضا از ثبت نام کارت اهدای عضو




اهدای سبز زندگی

آيا داشتن " کارت اهدا عضو " برای اهدای از طريق نامه های بی نام و ثبت نام کارت اهدای عضو.




آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB

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




آموزش حل معادلات مرتبه اول کوپل شده در نرم افزار MATLAB

سایت ثبت نام کارت اهدا عضو. شکل زیر نوشته شده و تحت نام مکانیک در شیراز.




معرفی کتابخانه عمومی شهیدآیت الله دستغیب

2/ ثبت نام اعضاء و صدور کارت 3/ ثبت نام تزیین کتابخانه شهید دستغیب به نام "محمد" اهدا




آموزش رسم انواع دیگر نمودارها در نرم افزار MATLAB

سایت ثبت نام کارت اهدا عضو. تدریس خصوصی دروس مهندسی مکانیک در شیراز. وبلاگ مهندسین حرفه




پانزدهمین دوره مسابقات سنگنوردی جام فجر/ مردان

ثبت گزارش برنامه جدید ; عضو یت و فاتح هفت قله هشت هزار متری در شیراز




كارت اهداء عضو

كارت اهداء عضو - ثبت شده در ستاد شود فرد دارنده کارت اهدا، خانواده خود را از نام خدای




برچسب :