فارسی - matlab جزوه آموزش مقدماتی

19
The compassionate The merciful Learning Ruhollah rajabi July 15 2005

Post on 27-Jul-2015

2.557 views

Category:

Documents


23 download

DESCRIPTION

برای شروع یادگیری - مقدماتی

TRANSCRIPT

Page 1: فارسی - Matlab جزوه آموزش مقدماتی

The compassionate The merciful

Learning

Ruhollah rajabi

July 15 2005

Page 2: فارسی - Matlab جزوه آموزش مقدماتی

1 Introduction …………………………………………..…… 3

……………………….……...…… 4 Window 2 Command ……………………………………………................... 6Matrix 3

M-file …………………………...…………...……………….. 9 4 5 plotting Curve……………………………….……….…... 10 6 numerical calculating ………………………………... 15 7 Symbolic calculating ……………………….………... 16 8 Examples …………………………………………....………19

Copyright© July 15 2005

٢

Page 3: فارسی - Matlab جزوه آموزش مقدماتی

:مقدمه

Mat labآه توسط تعداد زيادي از مهندسـان . يك نرم افزار قوي در زمينه رياضيات استــرق و ــه توليــد شــده اســت و در محاســبات مهندســي از جملــه مهندســي ب ــا تجرب ب

سـطح اين نرم افزار به مـا امكـان برنامـه نويـسي .مهندسي مكانيك آاربرد فراوان دارد . و نيز زمينه خالقيت يك مهندس در اين نرم افزار فراهم شده است. االيي را مي دهدب

اين نرم افزار شباهت . واقعا قوي و بي نظير است mat labمبحث محاسبات سمبليك دارد و برخـي دسـتورات آن نيـز شـبيه بـه ايـن زبـان cبسياري به زبان برنامـه نويـسي

.برنامه نويسي است مي تواند به مهندسان مكانيـك و بـرق تحليـل درسـتي از نمـوداري آـه mat labبرنامه

رسـم مـي شـود mat labوقتي آه يك جسم سه بعـدي در .رسم شده است را بدهدانعطـاف بـسيار به آاربر اين امكان داده شده تا توسط يك دوربين از آليه نقاط شكل بـا

. آندبااليي مشاهدهجامع و نيرومند است آـه مـي توانـد سـئواالت مـا را در بسيار helpاين نرم افزار داراي

.مورد تمام زمينه هاي اين نرم افزار ياري دهداز با اطمينان زياد از نتيحه آـار اين نرم افزار قوي در اختيار ماست تا بتوانيم در تحليل ها

.آن استفاده آنيم . شما باشداميدوارم اين آموزش مختصر در گامهاي اوليه راهنماي مفيدي براي

٣

Page 4: فارسی - Matlab جزوه آموزش مقدماتی

:Command پنجره

را اجرا مي آنيم چندين پنجره در جلوي ما ظاهر مي شود آـه mat labوقتي نرم افزار آه ما مي توانيم دستورات را در اين قسمت تايپ . است commandيكي از آنها پنجره

تايـپ " «"دستورات در جلوي عالمـت . مالحظه نمائيمآنيم و نتايج آنرا نيز در اين پنجره .مي شوند

:پنجره هاي ديگر عبارتند از History window: در اين پنجره دستورات تايپ شده نگه داري مي شوند و با پـايين

دسـتور commandنگه داشتن آليد چپ موس روي هر دسـتور و حرآـت آن بـه پنجـره . دوباره قابل اجرا خواهد بود

Current directory: دايرآتوري يا folderفعلي را نمايش مي دهد . Work space:اين پنجره آليه متغيرهاي تعريف شده را در خود نگه مي دارد . Launch pad: در اين پنجره آـه از منـوي view ليـست فعـال مـي شـودdemo هـاي

mat labنمايش داده مي شود . :mat labاولويت عملگرهاي رياضي در

.است) ^(ودر آخر توان (*) و بعد ضرب (+) سپس جمع ) -(اولويت اول تفريقبايد بدانيم آه هميشه محاسبات درون پرانتز ها اجرا مي شوند و سـپس حاصـل آن بـا

.بيرون پرانتز محاسبه مي شود :نكته مهمMat lab به بزرگ يا آوچك بودن حروف حساس است بنابراين در تايپ حروف بايد دقـت

. به شما اخطار خواهد دادmat labود، در غير اينصورت ش

:تنظيم دقت نمايش اعداد :روش اول

را انتخـاب preferences را اجرا مي آنـيم و سـپس از منـوي فايـل mat labابتدا برنامه مـي تـوانيم دقـت الزم numeric formatبخـش در text displayمي آنيم و درقسمت .تنظيم نمائيمبراي نمايش اعداد را

longو فرمـت . عدد ما تا چهار رقم اعشار نمايش داده مي شودshortبا انتخاب دقت مثبـت يـا منفـي بـودن + فرمـت . اعداد را با دقت چهارده رقم اعشار نمايش مـي دهـد

اعداد را به صورت آسري نشان مي دهد براي rationalفرمت .عدد را نمايش مي دهد اعـداد bankفرمـت . ه صورت پنج تقسيم بر دو نمايش مي دهـد دو ونيم را بمثال عدد

اعـداد را در مبنـاي هگـزا دسـيمال hexو فرمـت .اعشاري را تا دو رقـم گـرد مـي آنـد اعداد را تا چهار رقم اعشار نمايش مي دهد و از چهار short eفرمت . نمايش مي دهد

د را تـا چهـارده رقـم اعـشار اعـدا long eو . رقم به بعد به صورت تواني نشان مي دهددو فرمـت ديگـر قابـل . نمايش ميدهد و از آن به بعد را به صورت تواني نمايش مي دهد

.بررسي هستند :روش دوم

. مـي تـوان فرمـت را تغييـر داد formatو با استفاده از دسـتور از طريق برنامه نويسي را مـي formatبتـدا دسـتو ر تغييـر دهـيم ا rationalبراي مثال اگر بخواهيم فرمت را بـه

نـام فرمـت آـه در اينجـا قـرار مـي دهـيم وسـپس space يـك فاصـله يـا نويسيم و بعـد rationalاست را تايپ مي آنيم .

:اعداد ثابت

٤

Page 5: فارسی - Matlab جزوه آموزش مقدماتی

آـه نمـايش آن π شـناخته شـده هـستند ماننـد عـدد برخي از اعدا براي اين نـرم افـزار برخـي ديگـر از ايـن . ده مي شـود ارزش اين عدد نمايش داpi است وبا تايپ piبصورت

:اعداد عبارتند از : INFآه به مفهوم بي نهايت يا تقسيم يك بر صفر است .

: Epsآه همان اپسيلون يعني آوچكترين عدد مثبت است . : Nanاستم تعريف نشده يا تقسيم صفر بر صفر به مفهو.

Real max: بزرگترين عدد حقيقي قابل شناسايي mat labاست . : Real min آوچكترين عدد حقيقي قابل شناسايي mat labاست .

:mat lab در ";"نقش . براي نوشتن چندين دستور در يك خط در آخر هر دسـتور سـيمي آـالن قرارمـي دهنـد

همچنين سيمي آالن بعد از هـر دسـتور باعـث عـدم نمـايش اجـراي دسـتور در پنجـره commandمي شود .

. انجام مي شودmat labدرون در صورتي آه محاسبات در :mat labتوابع ياضي در

شـناخته mat labآليه توابع مثلثاتي و نمـايي و لگـاريتمي، قـدرمطلق و مخـتلط بـراي .شده هستند

تابع رياضي mat lab نمايش تابع در ريقهط

Sin(x) , asin(x) , sinh(x) , …Sinx , arcsinx , sinhx , …Exp(x) or e^(x)E^xLog(x)logxpiπ Sqrt(x)√xAbs(x)|x|Rem(x,y) باقيمانده تقسيمxبر y

:clcدستور ــن دســتور ــادل دســتور اي ــات ;()clrscr مع ــي باشــد و محتوي ــان ســي م ــره در زب پنج

commandرا پاك مي آند .

:clearدستور بـراي پـاك آـردن .وندآليه متغيرهايي را آه تعريف آرده ايم با اين دسـتور پـاك مـي شـ

براي پـاك . و سپس نام متغير يا متغير ها را نوشت clearمتغيري خاص بايد ابتدا دستور : قرار دهيم مانند مثال زيرspaceفاصله يا آردن چندين متغير خاص بايد بين متغيرها

mat lab از حافظـه آه قـبال تعريـف شـده انـد را را d و c و b وaدستور فوق متغيرهاي

.پاك مي آند

٥

Page 6: فارسی - Matlab جزوه آموزش مقدماتی

:mat labماتريس ها در

دانـستن ماتريس ها بسيار مهم هستند و براي ادامه آار بـا ايـن نـرم افـزار mat labدر

.ايجاد يك ماتريس داراي اهميت استچگونگي : دو روش وجود داردmat labبراي ايجاد يك ماتريس در

:روش اول باشد به صـورت زيـر عمـل ٩تا ١متشكل از اعداد براي ايجاد يك ماتريس سه در سه آه

.مي آنيم

A1= [1 2 3; 4 5 6; 7 8 9] A2= [1, 2, 3; 4, 5, 6; 7, 8, 9]

به تفاوت دو ماتريس فـوق توجـه آنيـد ،در . ذخيره مي شود a1ماتريس فوق در متغير

.ت است يكسان هستند فقط نحوه تعريف آنها متفاوa2 وa1واقع هردو ماتريس بـين درايـه A2 بين درايه هاي هر سطر يك فاصله قرار دارد و در ماتريس A1در ماتريس

آه به نظر مي رسد براي تعريف يك ماتريس اگر مانند . هاي هر سطرويرگول وجود دارد . بودهد عمل شود آسانتر خواA1ماتريس

:روش دوم آه يـك نقطـه شـروع ،يـك .روش ديگر براي تعريف يك ماتريس يك ماتريس خطي است

و مقـدار رشـد b نقطه پايان را باaنقطه شروع را با اگر.رشد دارد نقطه پايان ويك مقدار . به صورت زير تعريف مي شود m نشان دهيم در اين صورت ماتريس kرا با

M=a:k:b

اين ماتريس برابر تعداد سـتون تعداد درايه هاي . يك ماتريس خطي است m ماتريس

. محاسبه مي شودزير به صورت هاي ماتريس است آه

= [|b-a| / k] +1تعداد درايه ها

. ماتر س سطري آاربرد فراواني داردmat labدر

:linspaceدستور .فرم آلي اين دستور به صورت زير است

V=linspace(a,b,k)

تقسيمات به صـورت و حاصل . نقطه تقسيم مي آند k را به b و aاين دستور فاصله بين

. ذخيره مي شودvيك ماتريس سطري در متغير

:ترانهاده يك ماتريس ). را ترانهاده ماتريس گويندتغيير سطر وستون يك ماتريس با يكديگر(

٦

Page 7: فارسی - Matlab جزوه آموزش مقدماتی

B=a'

باعـث )'( عالمت آپاسـتروف قرارمـي گيـرد،واين عالمـت aمالحظه مي شود آه بعد از . ذخيره شودBاصل در متغير وح. ترانهاده شودaمي شود ماتريس

:فراخواني يك ماتريس :فرم آلي اين فراخواني به شكل زير است

Vn=array name(row, column)

سـطر مـورد نظـر مـاتريس و row نام مـاتريس مـورد نظـر اسـت، array nameآه در آن columnاست ستون مورد نظر ماتريس .

تعريـف a=[1 2 3 4;5 6 7 8]ض آنيـد مـاتريس فـر .با يك مثال اين موضوع را بيان مـي آـنم مـي باشـد بـدين ٣ براي فراخواني درايه سطر اول، ستون سوم آه عـدد .شده باشد

ايـن دسـتور درايـه سـطر اول ،سـتون سـوم را در b=a (1, 3). صـورت عمـل مـي آنـيم . ذخيره مي آندbمتغيري به نام

نجام يـك عمـل رياضـي روي مـاتريس براي فراخواني تمام درايه هاي يك ماتريس براي ا B=sin(a): داريـم aبـه طـور مثـال بـراي محاسـبه سـينوس آليـه درايـه هـاي مـاتريس

از حاصل اين عبارت نيز يك ماتريس سطري خواهد بود آه درايـه هـاي نظيربـه نظيـر آن بدسـت آمـده انـد، و در متغيـر aمحاسبه سينوس درايه هـاي نظيـر بـه نظيـر مـاتريس

. ذخيره شده اندb نام جديدي بهبـه x در متغيري بـه نـام aبراي قراردادن آليه درايه هاي ستون دوم يك ماتريس به نام

.صورت زير عمل مي شودx=a (:, 2)

بـه x در متغيـري بـه نـام a دوم يك ماتريس به نام سطر براي قراردادن آليه درايه هاي .صورت زير عمل مي شود

x=a (2,:) :نكته

ماتريس خطي مي توانيم براي فراخواني يك درايـه از مـاتريس بـراي مثـال درايـه در يك و نيـازي بـه بنويـسيم مـاتريس را سوم يك ماتريس يك در هشت تنها شماره سـتون را

بصورت خودآار تعداد سطر يك ماتريس سـطري را mat labنوشتن سطر آن نيست زيرا :هستندتشخيص مي دهد، هر دو حالت نوشتاي زير صحيح

B=a(3) يا B=a(1,3) را نيـز فراخـواني آـرد، k بـا رشـد b تـا aدر يك ماتريس خطي مي توان يـك مـاتريس از

:براي مثال مـي ١٠ تـا ١ آه يـك مـاتريس خطـي از m=[1 2 3 4 5 6 7 8 9 10] را داريم mماتريس

قـرار nيـري بـه نـام فراخواني آنـيم و در متغ ٣ را با رشد ٨ تا ١باشد،و مي خواهيم از است سه تا سـه تـا ٨ است تا درايه هشتم آه ١ ،يعني از اولين درايه آه دهيم داريم

:انتخاب مي آنيم آه نحوه فراخواني و نتيجه آن به صورت ير استn=m(1:3:8) ، nيك ماتريس خطي به شكل مقابل است .n=[1 4 7]

:اعمال رياضي روي ماترس ها :ماتريس ها به دو صورت استاضي در عمليات ري

. عمليات طبق جبر ماتريس ها-١ . عمليات درايه در درايه-٢

٧

Page 8: فارسی - Matlab جزوه آموزش مقدماتی

در نوع اول به گونه اي است آه در دوران دبيرستان آموخته ايم،آه در ضرب دو ماتريس و در آخـر آليـه ...ب مـي شـود و سـطر دوم در سـتون دوم سطر اول در ستون اول ضر .جمع و تفريق هم به صورت درايه در درايه صورت مي گيرد.نتايج با هم جمع مي گردد

بايد سطرها وستون هاي ماتريس ها باهم برابر باشـند، عمليـات درايـه در در نوع دوم ، درايه در مورد ضرب دوماتريس بدين صـورت اسـت آـه درايـه هـاي نظيـر دو مـاتريس در

امـا . ز بدين گونـه اسـت يكديگر ضرب مي شوند در مورد تقسيم ،جمع ،تفريق و توان ني :نحوه استفاده از اين روش

بـه صـورت زيـر عمـل مـي b و aبراي ضرب ،تقسيم و تـوان درايـه در درايـه دو مـاتريس :آنيم

C=a.*b C=a./b C=a.^b

معروف است ضـروري silver pointبراي اعمال درايه در درايه درج نقطه آه اصطالحا به

.مي باشد

:وط به ماتريس توابع مربEye (a,b) :ماتريس قطري a*b يك

Rand (a,b): ماتريسa*bبا درايه هاي اتفاقي Ones (a,b): ماتريسa*bآه تمام درايه هاي آن يك است . Zeros (a,b) : ماتريس صفر

:sizeتابع :فرم آلي تابع چنين است

[row,column]=size(a)

را بـه ترتيــب در aه انـدازه ســطر و سـتون مــاتريس سـت آــ گونــه اعملكـرد ايــن تـابع اين

تعداد سطرهاي ماتريس rowيعني ارزش . قرارمي دهد [row,column]يك در دو ماتريس a و ارزش column تعداد ستون هاي ماتريس aاست .

٨

Page 9: فارسی - Matlab جزوه آموزش مقدماتی

M-File:

مه نويسي در اين قسمت با پنجره جديدي آشنا مي شويم آه در اصل محل اصلي برنا mat lab در ايـن پنجـره صـورت مـي گيـرد، ايـن پنجـره يـك محـيط سـاده اي اسـت آـه

در مقايسه بـا . دستورات را مي توانيم در آن تايپ آرده و در آامپيوتر خود ذخيره نماييم نويسي بسيار راحتتر است و نيز اصـالح برنامـه در m-file استفاده از commandپنجره

ــن محــيط آســانتر مــي ب ــا در نهايــت اجــراي برنامــه هــاي خــود را در پنجــره . اشــداي مcommand مشاهده خواهيم آرد اما پنجره command محـيط مناسـبي بـراي ويـرايش

. بنويسيمm-fileپس توصيه مي شود از اين به بعد برنامه ها را در . برنامه ها نيست. انتخـاب مـي آنـيم را m-file را انتخاب مي آنيم سپس گزينـه newازمنوي فايل گزينه

حال يك پنجره در مقابل ما باز مي شود، آه همان پنجره مذآور اسـت ومـا مـي تـوانيم . را شروع آنيمmat labبرنامه نويسي

در اينجـا نيـاز بـه هيچگونـه ++c يـا cبر خالف ديگـر محـيط هـاي برنامـه نويـسي ماننـد headerنيست ومستقيما دستورات را در اين پنجره مي نويسيم .

را فـشار مـي دهـيم يـا از F5 آليد m-fileبراي ذخيره و اجراي دستورات پس از نوشتن ذخيره مـي m ها با پسوند m-file . را انتخاب مي آنيم debug ، save and runمنوي .شوند

هـا يـا توابـع خـود m-file با نام m-fileتوجه به اين مساله ضروري است آه بايد نام يك mat lab د ونيـز در نامگـذاري يكـسان نباشـm-file هـا نبايـد از اعـداد اسـتفاده آـرد،در

روبه رو خواهيم بـود، و در حاليكـه برنامـه mat labصورت عدم رعايت اين نكته با اخطار مواجه هستيم زيرا mat labما هيچگونه ايرادي ممكن است نداشته باشد اما با اخطار

. را رعايت نكرده ايمmat lab خود قوانين نامگذاري m-fileدر نام گذاري

٩

Page 10: فارسی - Matlab جزوه آموزش مقدماتی

:mat labرسم نمودار در

آنـرا در پنجـره اي mat lab داده مي شود mat labوقتي آه يك دستور رسم نمودار به

. آند رسم مي figureجديد به نام

:gridدستور نمودار يا مي شود آه امكان مقايسه figureاين دستور موجب شطرنجي شدن پنجره

.فرم استفاده از آن اينگونه است. نمودارها را به آاربر مي دهد

Grid on Grid off

Grid on باعث شطرنجي شده پنجره figure و grid off باعث خروج از حالت شطرنجي .مي شود

:holdدستور جديـد در هر بار آه يك نمودارجديد رسم مي آنيم نمودار قبلي پاك مي شود و نمودار

حال اگر بخواهيم دو نمودار را با هـم مقايـسه آنـيم مـي . رسم مي شود figureپنجره بايد دو نمودررا داشته باشيم تـا قـادر بـه مقايـسه ايـن دو بـشويم بـراي ايـن منظـور از

با اجراي اين دستور بعد از رسم نمودار اول ، وسپس . استفاده مي آنيم holdدستور نمودار اول را نگـه holdو نمودار روي هم مي افتند،يعني دستور رسم نمودار دوم اين د

.مي دارد و نمودار دوم روي آن رسم مي شود

Hold on Hold off

باعـث غيـر فعـال hold off باعث فعـال شـدن ايـن قابليـت و hold onدر اين دستور نيز . مي شودآردن اين قابليت

:برچسب نمودارXlabel: اين دستور برچسب محور xها را مشخص مي آند . Ylabel :دستور برچسب محور اين yها را مشخص مي آند .

Xlabel('v') Ylabel('t')

tبرحسب (y ، tاست وبرچسب ) يا همان سرعت vبرحسب (x،vدر فرم باال برچسب

.است) يا زمان

:تعيين حدود نمودار

١٠

Page 11: فارسی - Matlab جزوه آموزش مقدماتی

Axis([xmin,xmax,ymin,ymax,zmin,zmax])

هـستند ونيـز بـراي x به ترتيـب حـدود پـايين و بـاالي نمـودار xmax و xminدر فرم فوق

. چنين استz وyدومحور

:plotدستور :فرم آلي دستور

plot(x,y,'color')

و . ماتريس هستند آـه تعـداد درايـه هـاي آنهـا بـا هـم برابـر اسـت y و xدر دستور فوق

color ه رسم مي شود آه بجاي رنگ نموداري است آcolor يكي از مقادير جـدول زيـر .را مي توانيم قرار دهيم ، توجه آنيد آه درج رنگ اجباري نيست

آارآتر نام رنگ

k سياه m ارغواني r قرمز g سبز w سفيد y زرد b آبي

:subplotدستور

ار يكـديگر اسـت وفـرم در آنـ figureاين دستور براي رسم چندين نمـودار در يـك پنجـره :آلي آن بصورت زير است

Subplot(n,m,k)

. شماره نمودار استk ،ستون و m ،سطر nآه :مثال

X=0:0.05:4;Y=sin(x);Z=cos(x);Subplot(1,2,1);plot(x,y,'g');Subplot(1,2,2);plot(x,z,'m');

سـتون هـستند آـه در درمثال فوق دو نمودار درآنار هم بـه صـورت سـطري و داراي دو

نمودار ;subplot(1,2,2) نمودار اول رسم مي شود و در دستور ;subplot(1,2,1)دستور نمودار اول به رنـگ سـبز و نمـودار دوم بـه . است رسم مي شود plot(x,z,'m')دوم آه

.رنگ ارغواني خواهد بود

١١

Page 12: فارسی - Matlab جزوه آموزش مقدماتی

:plot3تابع و فرم آلي آن به صـورت . مي آند اما در محيط سه بعدي عمل plotاين تابع مانند تابع

.زير است

Plot3(x,y,z)

اسـتفاده آنـيم ايـن تـابع نمـودار سـه boxدر رسم توابع سه بعدي مي تـوانيم از تـابع ;Plot3(x,y,z);box. بعدي را درون يك مكعب به ما نمايش مي هد

:رسم دو بعدي نمودارهاي گسسته .فرم آلي آ ن بصورت زير است. ه آار مي رود در رسم نمودارهاي گسسته بstemتابع

Stem(x,y,'color')

همـان color ماتريس هاي خطي هستند ودر تـابع فـوق نيـز z و y و xدر تمام توابع فوق

.حروف ذآر شده در قبل است

:نمودارهاي ميله اي

توضيح دستور

Bar(x,y) رسم نمودار ميله اي دو بعدي در راستاي محورx Barh(x,y) رسم نمودار ميله اي دو بعدي در راستاي محورy Bar3(x,Y) رسم نمودار ميله اي سه بعدي در راستاي محورx

Barh3(x,y) رسم نمودار ميله اي سه بعدي در راستاي محورy

:نمودار قطبي .فرم آلي آن بصورت زير است. اين تابع نمودار را در مختصات قطبي رسم مي آند

Polar(r, θ)

.رسم مي شود ) xزاويه نسبت به محور (thetaو) شعاع (rبر حسب نمودار

:meshتابع .اين تابع به تعبيري رسم رويه را بر عهده دارد

Mesh(x,y,z)

:meshgridتابع

. يك ترآيب دوتايي مي سازدy وxاين تابع از دو ماتريس سطري

[m,n]=meshgrid(x,y)

١٢

Page 13: فارسی - Matlab جزوه آموزش مقدماتی

:ونه مثال براي هردو تابع فوق مي آورمدر زير يك نم

T=0:0.05:6;X=sin(t);Y=exp(t);[m,n]=meshgrid(x,y);Z=log(n);Mesh(x,y,z)

بـه mat labدر ادامه دو دستور آنترلي مهم ذآر مي شود آه در رونـد برنامـه نويـسي

switchور و دسـت if ،دسـتور شـرطي forآنها نياز خواهيم داشت آه از آن جمله حلقه .است

:forدستور فـرم آن بـه صـورت .براي تكرار يك عمل به تعداد خاص از اين دستور استفاده مي شـود

و در اسـتفاده از آن در يـك برنامـه هـيچ محـدوديتي وجـود نـدارد و مـي تـوان زير اسـت : را درون هم به آار بردforچندين حلقه

For i=m:k:n

… end

نيـز رشـد حلقـه k اسـت for نقطه شروع حلقـه mغير است ، يك مت Iدر دستور فوق

for است الزم به ذآر است د ر مواقعي آه رشد حلقه for است نيازي 1 در برنامه ما است،درقـسمتي آـه نقطـه چـين قـرار دارد for پايـان حلقـه nبه نوشـتن آن نيـست ،

و بـه تعـداد خـاص برنامه نويس مـي خواهـد تـا آنتـرل شـده اعمال يا دستوراتي را آه . است for خاتمه حلقه endانجام شوند قرار مي دهد و در پايان دستور

:ifدستور

If و فـرم آن . يك دستور شرطي است آه بر روي انجام برخي اعمال شـرط مـي گـذارد و در استفاده از آن در يك برنامه هيچ محدوديتي وجود نـدارد و مـي به صورت زير است

:د را درون هم به آار برifر شرطي دستوتوان چندين

If i= =j … end

شرط انجام دستوراتي آه در قـسمت نقطـه چـين قـرار ifدر اين تابع شرطي در مقابل

دارد ذآر مي شوند مه در جدول زير به برخي از آنها اشاره شده است ودر پايان دستور end آه بيانگر خاتمه شرط برنامه است .

توضيح شرط

ساوي بودنم == نامساوي بودن =~ بزرگتر يا آوچكتربودن >يا <

١٣

Page 14: فارسی - Matlab جزوه آموزش مقدماتی

:switchدستور Switchيكي از دستورات آنترلي است آه به صورت زير عمل مي آند : ابتدا يك شرط را آنترل مي آند و اگر شرط دستور و جود داشـته باشـد switchدستور

case هاي آن پرش مي آنـد و فقـط caseبنا به شرط موجود برنامه به يكي از موارد يا ها را ناديده مي گيرد بـه بيـان ديگـر در يـك caseمربوط به شرط را اجرا مي آند و بقيه

: ها قابل اجرا است و فرم استفاده از آن به ورت زير است caseزمان فقط يكي از

Switch x Case 1 … Break; Case 2 … Break;

ها برقرار است و براي هر آدام از case است آه براي يكي از switch شرط xآه در آن

case ها آه برقرار باشد caseمورد نظر اجرا مي شود .

:inlineتابع ي گيرد و يك تابع عددي بر حسب پـارامتر هـاي اين تابع يك عبارت آارآتري را از آاربر م

:فرم آلي اين دستور به صورت زير است. در خواستي آاربر مي سازد

F=inline('G ','x1','x2','x3',…)

. يك تابع به فرم آارآتري استGآه در آن

:inputتابع

فـرم آلـي آن بـه و . ازاين تابع براي دريافت عدد يـا آـارآتر از آـاربر اسـتفاده مـي شـود :صورت زير است

Input('question') براي دريافت عدد از آاربر

Input('question','s') براي در يافت آارآتر از آاربر

در فرم دوم آاربر . در فرم اول يك سئوال از آاربر مي شود و آاربر تنها بايد عدد وارد آند

. آاربر را دريك متغير ذخيره آنيممي توانيم پاسخ. يك رشته يا آارآتر وارد مي آند

١٤

Page 15: فارسی - Matlab جزوه آموزش مقدماتی

:mat labدر عددي محاسبات

:انتگرال گيري عددي

در انتگرال گيـري عـددي آـاربر بايـد تـابع، نقطـه شـروع،نقطه پايـان و تعـداد تقـسيمات :آه براي انتگرال گيري دو تابع وجود دارد.فاصله را وارد آند

:quadتابع :ير استفرم آلي اين تابع به صورت ز

Quad('function',a,b,dx)

Function ،هرتـابعي مــي توانــد باشـد a نقطــه شــروع انتگـرال گيــري اســت و b نقطــه

dx است بـه بيـان ديگـر b تا a تعداد تقسيمات فاصله dxانتهايي انتگرال گيري است و .دقت انتگرال گيري است

:trapzتابع :فرم آلي اين تابع به صورت زير است

Trapz(x,y)

. دو ماتريس هستند آه بايد تعريف شوندy وxدر اين فرم

:مشتق گيري عددي :diffتابع

:فرم آلي آن به صورت زير است

Diff(x,n,k)

. بعد آن استk مرتبه مشتق گيري و n يك ماتريس چند در چند وxآه در آن

١٥

Page 16: فارسی - Matlab جزوه آموزش مقدماتی

:mat lab در محاسبات سمبليك

اسـت تـشخيص mat labتوسط الگوريتم هـاي خاصـي آـه در برنامـه عبارات سمبليك

آه اين خاصيت يكـي .داده مي شوند و براي محاسبات رياضي از آن استفاده مي شود .از قدرتمندترين قابليت هاي اين نرم افزار است

تفاوت عبارات سمبليك با آارآتري اين است آـه عبـارات آـارآتري آـه در تـابعي ماننـد inline اما عبارات سمبليك ارزش محاسباتي .فاده مي شد ارزش محاسباتي ندارند است .دارند

:فرم آلي تعريف يك عبارت سمبليك به صورت زير است

V=sym('function')

:prettyدستور پس از ذخيره يك متغير يا تابع سمبليك با ايـن دسـتور تـابع يـا متغيـر را بـه صـورت فـرم

:فرم استفاده از آن به صورت زير است. نوشتاري بدست مي آورريم

Pretty(v)

. عبارت سمبليك تعريف شده استvآه در آن

:اعمال جبر در سمبليك دو عبارت سمبليك هستند،براي انجام چهار عمـل اصـلي بـر روي B و Aفرض مي آنيم

:از توابع زير استفاده مي آنيماين دو عبارت

Symadd(a,b): مبليكبراي جمع دو عبارت س

Symsub(a,b): براي مجموع دو عبارت سمبليك

Symdiv(a,b): براي تقسيم دو عبارت سمبليك

Symmul(a,b): براي ضرب دو عبارت سمبليك

:نكته

عبـارت آـارآتري را از input براي دريافت يك عبارت سمبليك ابتدا با استفاده از دسـتور آنرا به عبارت سـمبليك تبـديل مـي symر آاربر مي گيريم و سپس با استفاده از دستو

inputدقت آنيد آه در اين مورد نبايد از آوتيـشن اسـتفاده شـود زيـرا در دسـتور .آنيم از symعبارت به همراه آوتيشن دريافت مـي شـود و ديگـر نيـاز نيـست آـه در دسـتور

.آوتيشن استفاده شود

١٦

Page 17: فارسی - Matlab جزوه آموزش مقدماتی

:انتگرال گيري و مشتق گيري سمبليك

: سمبليكانتگرال گيري :فرم آلي آن به صورت زير است

Int(symbolic,'x',a,b)

همان عبارت سمبليك اسـت آـه هـر عبـارت سـمبليكي مـي symbolicدر عبارت فوق متغير انتگرال گيـري اسـت و بنـا بـه نـوع متغيرهـاي مـساله قابـل تغييـر Xتواند باشد،

. حدود انتگرال هستندb و aاست، و

:مشتق گيري سمبليك :فرم آلي آن به صورت زير است

diff(symbolic,'x',n)

همان عبارت سمبليك اسـت آـه هـر عبـارت سـمبليكي مـي symbolicدر عبارت فوق

آه مـشتق يـك عبـارت سـمبليك بـر حـسب آن متغير مشتق گيري است xتواند باشد، مـشتق مرتبـه n و بنا به نـوع متغيرهـاي مـساله قابـل تغييـر اسـت، و گرفته مي شود

.گيري است

:استاندارد سازي و ساده سازي عبارات سمبليك :براي اين هدف سه تابع زير پيشنهاد مي شوند

:collectتابع .اين تابع عبارات مشابه سمبليك را با يكديگر جمع مي آند

:factorتابع .اين تابع عبارات سمبليك را به فرم حاصلضرب چند جمله اي ها تبديل مي آند

:expandتابع .اين تابع عبارات سمبليك را به فرم مجموع چند جمله اي ها تبديل مي آند

:محاسبه سمبليك تبديل الپالس :فرم آلي استفاده از آن به صورت زير است

A=Laplace(f)

f يك عبارت سمبليك است و با استفاده از اين تابع الپالس عبـارت سـمبليك fآه در آن . ذخيره مي شودAو حاصل در متغير .دبدست مي آي

١٧

Page 18: فارسی - Matlab جزوه آموزش مقدماتی

: بصورت زير خواهد بودعكس الپالس

B=ilaplace(A)

Aآـه در ايـن تـابع عكـس الپـالس تـابع .در اين تابع عكس الپالس محاسـبه مـي شـود . ذخيره مي شودBبدست خواهد آمد و حاصل در متغير

:z محاسبه سمبليك تبديل :زير استفرم آلي استفاده از آن به صورت

W=ztrans(f)

f عبارت سـمبليك z يك عبارت سمبليك است و با استفاده از اين تابع تبديل fآه در آن . ذخيره مي شودwو حاصل در متغير .بدست مي آيد

: بصورت زير خواهد بودz تبديل عكس

U=iztrans(W)

W تـابع zديل آـه در ايـن تـابع عكـس تبـ . محاسبه مي شـود zدر اين تابع عكس تبديل . ذخيره مي شودUبدست خواهد آمد و حاصل در متغير

:حل معادالت جبري :فرم استفاده از آن به صورت زير است

A=solve(function,'x')

متغيــري اســت آــه بايــد مــساله مــا xو . يــك تــابع آــارآتري اســت functionآــه در آن .ده عددي هستندطبيعي است آه ريشه هاي به دست آم.برحسب آن حل شود

:حل معادالت ديفرانسيل به روش سمبليك :فرم استفاده از آن به صورت زير است

Dsolve(function,'y(0)','y(1)',…)

ــه در آن ــارآتري اســت functionآ ــابع آ ــك ت ــساله ... وY(1) وy(0)و . ي ــه م شــرايط اولي .حل مي شودقابل ذآر است آه معادله از روش ضرايب نامعين .هستند

١٨

Page 19: فارسی - Matlab جزوه آموزش مقدماتی

The end Copyright©2005

Rajabi.someE.com

٣٥