مقاله آموزشی متلب

//مقاله آموزشی متلب

مقاله آموزشی متلب

(کاربرد نرم افزار  Mat labدر ریاضیات دبیر ستانی)

 

  مهندس علی سروی همپا

دبیر ریاضی و عضو شورای اجرایی انجمن معلمان ریاضی استان قم

 (ٍEmail: alisarvy@gmail .com)

چکیده

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

مقدمه

        متلب (MATLAB) یا (Matrix Lab) نام یکی از نرم‌افزارهای رایانه‌ای برای انجام محاسبات ریاضی است. واژهٔ متلب هم به معنی محیط محاسبات رقمی و هم به معنی خود زبان برنامه‌نویسی مربوطه‌است که از ترکیب دو واژهٔ MATrix و LABoratory ایجاد شده‌است. این نام حاکی از رویکرد ماتریس محور برنامه‌است، که در آن حتی اعداد منفرد هم به عنوان ماتریس در نظر گرفته می‌شوند.

         کار کردن با ماتریس‌ها در Matlab بسیار ساده است. در حقیقت تمام داده‌ها در Matlab به شکل یک ماتریس ذخیره می‌شوند. برای مثال یک عدد (اسکالر) به شکل یک ماتریس ۱*۱ ذخیره می‌شود. یک رشته مانند «Whale is the biggest animal» به شکل ماتریسی با یک سطر و چندین ستون (که تعداد ستون‌ها به تعداد کاراکترهاست) ذخیره می‌شود. حتی یک تصویر به شکل یک ماتریس سه بعدی ذخیره می‌گردد که بُعد اول و دوم  آن برای تعیین مختصات نقاط و بُعد سوم آن برای تعیین رنگ نقاط استفاده می‌شود. فایل‌های صوتی نیز در Matlab به شکل ماتریس‌های تک ستون (بردارهای ستونی) ذخیره می‌شوند. بنابراین جای تعجب نیست که Matlab مخفف عبارت Matrix Laboratory باشد.

علاوه بر توابع فراوانی که خود Matlab دارد، برنامه‏نویس نیز می‏تواند توابع جدید تعریف کند.

     استفاده از توابع Matlab برای نمایش داده‏ها بسیار راحت و لذت بخش است. برای مثال با چند خط زیر می‌توان یک شکل موج سینوسی با فرکانس ۱۰ هرتز را تولید کرده و کشید:

  • x=0:0.01:10
  • y=sin(2*pi*10*x)
  • y=plot(x,y)

             متلب که از محصولات شرکت مت‌ورکس (The MathWorks) است، برای گروه‌های مختلف مهندسان رشته‌های مختلف از جمله مهندسی برق، مکانیک، رایانه و… کاربرد بسیاری دارد.

          شرکت سازنده MATLAB شرکت Math works نام دارد. این شرکت در سال ۱۹۸۴ بنیان نهاده شد و هم اکنون دارای بیش از ۲۰۰۰ نفر پرسنل است. دفتر مرکزی این شرکت در شهر Natick در ایالت ماساچوست آمریکا قرار دارد. برای دسترسی به سایت این شرکت می توان به آدرس http://www.mathworks.com مراجعه کرد .

 

بخش ۱: ماتریس ها

برای نمایش ماتریس ها در MATLAB     بدین صورت عمل می کنیم:

>>a= [1 2 3;7 8 10;12 14 19]

و اجرای این دستور ماتریس زیر نمایش داده می شود Enter با زدن کلید

a=

۱ ۲ ۳

۷ ۸ ۱۰

۱۲ ۱۴ ۱۹

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

عملیات ماتریسی

برای ترانهاده یک ماتریس(مثلا ماتریس مثال قبل) از دستور زیر استفاده می کنیم :

>>a’

برای مشاهده عناصر قطر اصلی دستور زیر را تایپ کنید :

>>diag(a)

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

در صورتیکه قصد جمع کردن عناصر سطر اول ماتریس  a  را دارید می توانید از دستور زیر استفاده کنید :

>>a(1,1)+a(1,2)+a(1,3)

برای جمع سایر عناصر با یکدیگر نیز به همین منوال عمل می کینم.

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

>>a=[1 2 4 3];b=[3 4 3 2];

>>a*b

شما با یک خطا روبرو می شوید. برای ضرب دو ماتریس در هم باید به این شکل عمل کنیم :

>>a.*b

عملگر کالن:

وقتی به یک بازه ی عددی با گام مشخص احتیاج دارید ، عملگر کالن به کمک شما می آید. مثلا

تایپ کنید:

>>100:-7:50

 دستور زیر اعداد ۱۰۰ تا ۵۰ را با گام ۷- نمایش می دهد.آن را درخروجی را ببینید :

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

با اضافه کردن سمی کالن (;) به انتهای هر دستور خروجی نمایش داده نمی شود.

مجموع تمامی آرایه های یک ماتریس :

برای محاسبه ی مجموع تمامی آرایه های یک ماتریس از دستور زیر استفاده می کنیم :

>>m=[10 14 20;12 18 -2;1 4 3];

>>sum(m(:))

 

 

 

متغیر ها در  : MATLAB

نسبت دادن عدد ۲۵ به  : num                                                                                                >>num=25

برای نسبت دادن حرف  kبه متغیر a تایپ می کنیم                                                                           >>a=’K’

نوشتن اعداد علمی:                                                                                                             >>a=1.5e-10

نحوه ی نمایش اعداد در : MATLAB

در نرم افزارMATLABگزینه ی پیش فرض برای نمایش اعداد تا ۴ رقم اعشار است که

معادل دستور است format short ولی می توان نحوه نمایش اعداد را تغییر داد. برای اینکه

نمایش اعداد را به ۱۶ رقم اعشار تغییر دهیم دستور زیر را استفاده می کنیم :

>>format long

و دستور زیر هم اعداد را به صورت مثبت و منفی و صفر نمایش می دهد :

>>format plus

 

بخش۲- توابع در   MATLAB

برای مشاهده کلیه توابع موجوددر  MATLAB کافیست دستور زیر را تایپ کنید

>>help elfun

برای اعمال هر یک از این توابع بر روی یک متغیرها کافیست متغیرها را در یک پرانتز جلویتابع مورد نظرتایپ کنید مثلا تابع sin بر روی متغیرx  اینگونه عمل می کند

>>sin(x):

مربع جادویی(تابع magic  ):

 

دستور زیر یک مربع جادویی  n*n   به ما می دهد.

>>a=magic(n);

حال به معرفی اجمالی از عملکرد برخی از این توابع می پردازیم :

عملکرد تابع

نام تابع

محاسبه ی لگاریتم لپرین

log

رادیکالx

sqrt(x)

محاسبه ی قدرمطلق یک عدد مختلط

abs

نمایش قسمت موهومی یک عدد مختلط

imag

l نمایش قسمت حقیقی یک عدد مختلط

real

مشخص می کند عدد حقیقی ست یا مختلط

isreal

محاسبه ی سینوس هایپربولیک

sinh

محاسبه ی آرک سینوس

asin

معکوس سینوس هایپربولیک

asinh

و به همین ترتیب برای سایر توابع مثلثاتی

زاویه ی یک نقطه در مختصات دکارتی ۲

atan

گرد کردن به سمت صفر

Fix

گرد کردن به سمت منفی بی نهایت

floor

گرد کردن به سمت مثبت بی نهایت

ceil

گرد کردن به سمت نزدیکترین عدد صحیح

round

باقیمانده ی تقسیم با علامت

mod

تابع علامت

Sign

مثال:

>>r=(1+sqrt(5))/2

r=

۱٫۶۱۸۰

>>a=abs(3+4*j)

a=

۵

>>w=2.67;x=2.36;y=-3.67;z=-3.24;

>>fix(w)

ans=

۲

>>floor(y)

ans=

>>ceil(w)

ans=

۳

بخش۳- چند جمله ای ها در  MATLAB

جهت کار با چند جمله ای ها با اجرای دستور زیر توابع موجود در MATLAB مشاهده می شود  :

>>help polyfun

 برای وارد کردن یک چند جمله ای مثل۵ ۴ x3-8×2+7x- در MATLAB  به این صورت تایپ می کنیم :

>>a=[4,-8,7,-5]

 

جبر چندجمله ای ها:

برای جمع چند جمله ای ها دو بردار مربوط به ضرائب دو چندجمله ای را با هم جمع می کنیم،درصورت یکسان نبودن درجه ی دو چندجمله ای به چندجمله ای با درجه ی کمتر صفر اضافه می کنیم . به عنوان مثال برای جمع

 g(x)=6×2-2x+2   با   f(x)=9×3-5×2+3x+7    باید اینطوربنویسیم :

>>f=[9,-5,3,7]

>>g=[6,-2,2]

>>g=[0,g]

>>h=f+g

ریشه های یک چند جمله ای :

برای بدست آوردن ریشه های یک چندجمله ای مثل :  r=x4+7×3-8x+ 12 باید اینگونه عمل کنیم

>>r=[1,7,0,-8,12];

>>R=roots(r)

اجرای دستور roots(r)  ریشه های معادله مورد نظر را به ما می دهد.

حال اگر بخواهیم با داشتن ریشه های یک چندجمله ای خود چندجمله ای را بدست آوریم ازاین دستور استفاده می کنیم.

>>poly(r)

محاسبه ی جواب های معادله  n  مجهول:

فرض کنید می خواهیم جواب های دستگاه زیر را توسطMATLAB  بدست آوریم.

۳x1+5×2-2×3=10

x1+2×2+x3= -2

-x1+x2+3×3=6

: MATLAB باید در ماتریس ضرائب اینطور بنویسیم

>>a=[3 5 -2;1 2 1;-1 1  ۳];

>>b=[10;-2;6];

>>X=a\b

بخش۴- رسم توابع معمولی در   MATLAB

از دستور Plot برای رسم توابع معمولی در MATLAB  استفاده می شود

.به این مثال توجه کنید :

>>x=0:pi/100:2*pi;

>>y1=sin(x);

>>y2=sin(x-0.25);

>>y3=sin(x-0.5);

>>plot(x,y1,x,y2,x,y3)

البته به جای این دستور می توان از دستور  legend نیز بهره برد.

>>legend(‘sin(x)’,’sin(x-0.25)’,’sin(x-0.5)’)

اضافه کردن توضیحات به نمودار :

شما می توانید به نمودار توضیحاتی اضافه کنید مثلا می توانید محورها را نام گذاری کنید.

>>x=0:pi/100:2*pi;

>>y=sin(x);

>>xlabel(‘۰\leqx\leq2\pi’)

>>ylabel(‘sin(x)’)

>>title(‘y=sin(x),0\leqx\leq2\pi’)

دستورات  : Axis , Grid , text

: Axis

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

Axis([XMIN XMAX YMIN YMAX])

به مثال زیر توجه کنید :

>>x=-pi:pi/100:pi;

>>y=sin(x);

>>plot(x,y);axis([-pi pi -1 1]);grid

>>text(1,-1/3,’Made By MATLAB’)

دستور TEXT  عبارت داخل گیومه را در مختصات X=1   Y=1/3     نمایش می دهد.

رسم نمودارهای قطبی :

برای رسم نمودارهای قطبی از دستور   polar با شکل کلی زیر استفاده می شود:

polar(THETA , RHO)

این دستور مانند دستور   plot  عمل می کند.  نمونه ای از این دستور را ببینید

>>th=0:0.1:2*pi;

>>r=2./(1-0.5*cos(th));

>>polar(th,r)

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

 

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

این بخش را با مثالی توضیح می دهیم :

>>t=0:pi/100:2*pi;

>>plot3(t,sin(t),cos(t))

 برای رسم نمودارهای ۲ بعدی از دستور ezplot استفاده می کنیم

دستور syms متغیر X را به صورت یک متغیر نمادین تعریف می کند  و دیگر نیازی به نسبت

دادن یک عدد به آن نیست.

برای رسم نمودارهایی به شکل  f(x) = f(y)  فرض کنید می خواهیم نمودار  sin(x2) = cos(y)  را رسم کنیم :

>>syms x  y

>>ezplot(sin(x^2)-cos(y))

 

 

تابع  : Meshgrid

 تابع z=f(x,y)   نشان دهنده ی سطحی است که در محور های تابع z و y وx   رسم شده است .تابع  MESH

برای رسم چنین منحنی هایی به کار می رود، البته قبل از استفاده از این تابع باید مجموعه نقاطی در صفحه ی x –y

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

                                        تولید مجموعه نقاط در صفحه                             [x,y]=MESHGRID(x,y)

به این مثال توجه کنید :

>>x=-2:0.2:2;

>>y=-2:0.2:2;

>>[x,y]=meshgrid(x,y);

>>z=x.*exp(-x.^2-y.^2);

>>mesh(z)

توجه کنید که نباید گام اعداد را کوچک انتخاب کنید.

 دستور  surface   مثل دستور  Meshgrid  است با این تفاوت که سطح را سایه می زند

به عنوان مثال در ادامه ی مثال قبلی می نویسیم

>> surf(x,y,z)

 

چند نکته مهم و کاربردی:

             در صورتیکه نیاز به توضیح بیشتری درباره عملکرد هر تابع دارید کافیست قبل از نام دستور موردنظر عبارت help را تایپ کنید و آن را اجرا نمایید، مثلا برای آگاهی از عملکرد تابعplot دستور زیر را در محیط MATLAB اجرا کنید

>>help plot

         یکی از بهترین منابع برای آموزش  MATLAB استفاده از Demo خود نرم افزار است.برای مشاهده این بخش کافی است از منوی help گزینه demos  را انتخاب کنید . مثلا برای آگاهی از چگونگی رسم انواع نمودار کافیست روی گزینه ی MATLAB دوبار کلیک کنید و گزینه ی Graphics را برگزینید. MATLAB به شما انواع نمودار ها را نشان می دهد شما فقط باید نو ع نمودار مورد نظرتان را مشخص کنید.

منابع:

  1. Esential MATLAB for Engineers and Scientists,4th ed., by: B.Hahn & D.T.Valentine, Academic press
  2. MATLAB DeMYSTiFieD (A Self-Teaching Guide), by:David Mc Mahon, Mc GrawHill
  3. Learning MATLAB (Student Version), MathWorks INC
  4. computaional statistics handbook with matlab , by Wendy L. Martinez Angel R. Martinez  ۲۰۰۲  CHAPMAN & HALL/CRC
  5. matlab help
  6. matlab tranings.blogfa.com
۱۳۹۴-۹-۲۳ ۱۸:۱۳:۳۷ +۰۳:۳۰مهر ۲۵ام, ۱۳۹۲|Categories: آموزش متلب|Tags: |بدون ديدگاه

ثبت ديدگاه

پرداخت

1-پرداخت آنلاین
برای پرداخت آنلاین از لینک زیر استفاده کنید
پرداخت آنلاین
2- پرداخت آفلاین
برای پرداخت آفلاین مبلغ مورد نظر را به یکی از شماره کارت
6037997245888723بانک ملی