مطالب پیش نیاز
قبل از انجام ترسیم دو بعدی یک سری مفاهیم مورد نیاز است که توضیح داده خواهد شد.
روش اول ایجاد بردار در 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.matlab1.ir’,’FontSize’,18);
در پایان این قسمت مجموعه ی دستورات به همراه خروجی متلب به صورت زیر است.
%% 2D Plot in Matlab www.matlab1.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.matlab1.ir’,’FontSize’,18);
ترسیم چند نمودار دو بعدی جهت مقایسه
فرض بفرمایید میخواهیم چند نمودار دلخواه که همگی تابعی از 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’ رنگ آبی و … است. برای بقیه رنگ ها میتوان از دستور دیگری هم استفاده کرد که بعدا تضیح خواهم داد.
در مثال فوق خط آبی را به صورت “_ _” و خط سبز را به صورت “.-.-” و خط قرمز را به صورت خطوط “–“ترسیم کرده ایم.
“b:” خطوط تکه تکه ی کوتاه و آبی رنگ
“r:” خطوط تکه تکه ی کوتاه و قرمز رنگ
“g-.” خط نقطه سبز رنگ
“k- -” خط نقطه ی بلند سیاه رنگ
“ob” خطوط دایره دایره ابی
“xr” خطوط ستاره قرمز رنگ
و ….
تنها نکته ی دیگری که باید به خاطر داشته باشید نکته ی مربوط به برچسب گذاری است که در اینجا به دلیل وجود سه نمودار نیاز به سه برچسب هست
legend(‘blue’,’green’,’red’);
در نهایت کد نوشته شده به همراه نمودارها در زیر نشان داده شده است.
%% 2D Multi Plot in Matlab www.matlab1.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.matlab1.ir’,’FontSize’,18);