آموزش نرم افزارهای مهندسی مکانیک و کنترل

آموزش های ارائه شده توسط محسن رضایی (دکتری مکانیک، مشاورصنعتی و طراح ماشین آلات، مکانیزم ها و سازهای مکانیکی)

برنامه نویسی و محاسباتپربازدیدنرم افزار متلب

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

آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB دلیل درخواست زیاد دوستان مبنی بر نحوه آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB  لزوم و اهمیت این مسئله در کلیه مسائل مهندسی ، لازم دیدم پستی به این عنوان قرار داده و نحوه ی رسم انواع نمودارها و ابشن مربوط به پلات ها را آموزش بدم.در این پست نحوه ی ترسیم یک نمودار دوبعدی، چند نمودار دو بعدی برروی یکدیگر و مشخصات مختلف یک نمودار مانند برچسب ، محورها ، عنوان و انواع دیگر نوشته ی دلخواه در نمودار دوبعدی به کمک نرم افزار MATLAB توضیح داده شده است.

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

آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB دلیل درخواست زیاد دوستان مبنی بر نحوه آموزش ترسیم نمودارهای دو بعدی در نرم افزار MATLAB  لزوم و اهمیت این مسئله در کلیه مسائل مهندسی ، لازم دیدم پستی به این عنوان قرار داده و نحوه ی رسم انواع نمودارها و ابشن مربوط به پلات ها را آموزش بدم.در این پست نحوه ی ترسیم یک نمودار دوبعدی، چند نمودار دو بعدی برروی یکدیگر و مشخصات مختلف یک نمودار مانند برچسب ، محورها ، عنوان و انواع دیگر نوشته ی دلخواه در نمودار دوبعدی به کمک نرم افزار MATLAB توضیح داده شده است.

Captureyhdddd

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

روش اول ایجاد بردار در 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’ رنگ آبی و … است. برای بقیه رنگ ها میتوان از دستور دیگری هم استفاده کرد که بعدا تضیح خواهم داد.

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

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);

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

دانلود کد در قالب فایل تکست

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

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

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

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

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

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

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

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

سایت اصلی نرم افزار

سایت دیگری با مطالب مفید در این خصوص

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

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

 

محسن رضایی

دکتری مهندسی مکانیک گرایش دینامیک کنترل و ارتعاشات دانشگاه شیراز زمینه های تحقیقاتی: دینامیک، کنترل، ارتعاشات، دینامیک پرواز، دینامیک خودرو، آیروالاستیسته، بهینه سازی زمینه های کاری صنعتی: طراحی مکانیزم های خطوط تولید،طراحی جرثقیل ها،طراحی ماشین الات صنعتی،بررسی عیوب و بهینه سازی ماشین الات صنعتی نرم افزارهای مسلط: متلب-سیمولینک- سیم مکانیک-انسیس - انسیس ورکبنچ-آدامز-سالیدورکس-آباکوس تلفن تماس: 09369074440 ایمیل : mechanic.soft[at]yahoo.com , info[at]mechanicsoft.ir نوشته‌های تازه

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

  • بازپینگ: آموزش رسم انواع دیگر نمودارها در نرم افزار MATLAB | نرم افزارهای مهندسی مکانیک و کنترل

    • mechanicsoft

      لینک ها بدلیل اینکه در ساختار وبلاگ پست 45 و 47 بود و اکنوند در سایت پیوندها عوض شده است. مجددا اصلاح شدند. با کلیک بر روی آنها می توانید مطالب را ببیندی.

      پاسخ دادن
  • مهدی

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

    پاسخ دادن
    • mechanicsoft

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

      پاسخ دادن

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *