آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB
آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB
آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB دلیل درخواست زیاد دوستان مبنی بر نحوه آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB لزوم و اهمیت این مسئله در کلیه مسائل مهندسی ، لازم دیدم پستی به این عنوان قرار داده و نحوه ی رسم انواع نمودارها و ابشن مربوط به پلات ها را آموزش بدم.در این پست نحوه ی ترسیم یک نمودار دوبعدی، چند نمودار دو بعدی برروی یکدیگر و مشخصات مختلف یک نمودار مانند برچسب ، محورها ، عنوان و انواع دیگر نوشته ی دلخواه در نمودار دوبعدی به کمک نرم افزار 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 متغیر وابسته.
آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB
بعد از یادگیری مفهیم فوق با یک مثال ساده شروع میکنیم.
ترسیم تابع زیر در بازه ی 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);
ترسیم چند نمودار دو بعدی جهت مقایسه
آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB روش اول
فرض بفرمایید میخواهیم چند نمودار دلخواه که همگی تابعی از 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.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);
روش دوم آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB
در این روش نیازی نیست که کلیه نمودارها با هم رسم شوند بلکه هر کدام جداگانه با دستور پلات رسم میشود و پس بعد از آن از دستور hold on استفاده میشود این دستور به این معنی است که میگوید نمودار ترسیمی قبلی را نگه دار تا نمودار ترسیم بعدی نیز روی آن رسم شود. که دستور آن به صورت زیر میشود.
بعلاوه در کد زیر آمده ام و جزئیات مربوط به رنگ را گسترده تر کرده ام به عبارتی شما هر رنگ دلخواهی را با سه عدد مختلف بردار نشان میدهید. که تمام رنگها بین رنگ سیاه با بردار [0،0،0] و رنگ سفید با بردار [1،1،1] قرار دارند.
بعلاوه در ترسیم از شکلهای خطوط دایره و ستاره استفاده شده است.
کد نوشته شده به همراه شکل به صورت زیر است.
آموزش رسم انواع دیگر نمودارها در نرم افزار MATLAB
اطلاعات بیشتر : دوستانی که اطلاعات بیشتری در این زمینه نیاز دارند به دو سایت زبان انگلیسی زیر مراجعه نمایند.
سایت دیگری با مطالب مفید در این خصوص
در صورت داشتن هرگونه سوال ، مشاوه و یا درخواست پروژه به کمک نرم افزار متلب میتوانیداز طریق قسمت ارتباط با ما در بالای صفحه با ما تماس حاصل نمایید.
بازپینگ: آموزش رسم انواع دیگر نمودارها در نرم افزار MATLAB | نرم افزارهای مهندسی مکانیک و کنترل
لینک ها بدلیل اینکه در ساختار وبلاگ پست 45 و 47 بود و اکنوند در سایت پیوندها عوض شده است. مجددا اصلاح شدند. با کلیک بر روی آنها می توانید مطالب را ببیندی.
سلام
فقط خواستم تشکر کنم.
موفق باشید
خواهش میکنم ، قبلا مطالب ما در وبلاگ متلب سافت مورد استقبال بود. به تازگی به دلیل تغییر سرور بازدید از این مطلب کاهش پیدا کرده، اما طبق روند سابق در صورتی که سوالاتی در این زمینه دارید مطرح کنید حتما جواب داده خواهد شد.
با تشکر
مدیریت مکانیک سافت