زا يا هﺪﯿﮑﭼ - guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10...

18
1 ﭼﮑﯿﺪه اي از ﭼﮑﯿﺪه اي از ﻣﺒﺎﻧﻲ ﮐﺎﻣﭙﻴﻮﺗﺮ، ﺍﻟﮕﻮﺭﻳﺘﻤﻬﺎ ﻭ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺑﻪ ﮐﻤﮏ ﻣﺒﺎﻧﻲ ﮐﺎﻣﭙﻴﻮﺗﺮ، ﺍﻟﮕﻮﺭﻳﺘﻤﻬﺎ ﻭ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺑﻪ ﮐﻤﮏMATLAB MATLAB ﮔﺮﺩﺁﻭﺭﻱ: ﻣﺤﻤﻮﺩﻱ ﻣﻬﺮ ﮔﺮﻭﻩ ﻣﻬﻨﺪﺳﻲ ﻣﮑﺎﻧﻴﮏ ﺩﺍﻧﺸﮕﺎﻩ ﮔﻴﻼﻥ

Upload: others

Post on 05-Jan-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

1

چکیده اي از چکیده اي از MATLABMATLABمباني کامپيوتر، الگوريتمها و برنامه نويسي به کمک مباني کامپيوتر، الگوريتمها و برنامه نويسي به کمک

گروه مهندسي مکانيک دانشگاه گيالنمحمودي مهر: گردآوري

Page 2: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

2

مباحث

مباني کامپيوتر

الگوريتم و فلوچارت

برنامه نويسي به وسيلهMATLAB

استفاده ازMATLABدر محاسبات و گرافيک

دانشکده مکانيک

Page 3: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

3

مباني کامپيوتر

زبانهاي برنامه نويسي

:زبانهاي سطح پايينقابل فهم توسط کامپيوتر و قابل اجرا توسط سخت افزار

:زبانهاي سطح باال..,Fortran, Basic, C, Pascal)(نزديک به زبان محاوره اي انسان

نياز به مترجم يا کامپايلر

دانشکده مکانيک

Page 4: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

4

الگوريتم و فلوچارت

صل کار موجب حل مسئله اي خاص مي شودالگوريتم مجموعه دستورالعملهايي است که اگر به ترتيب دنبال گردد حا : تعريف .

نکات مهم در نوشتن يک الگوريتم مناسب :

تعريف دقيق از مسئله•

تعيين کليه پارامترهاي موجود در مسئله•

تعيين ورودي و خروجي هاي مسئله•

انتخاب يک راه حل مناسب•

زبان دقيق •

جزييات کافي •

ترتيب عمليات •

دانشکده مکانيک

Page 5: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

5

الگوريتم و فلوچارت

روشهاي بيان الگوريتم

طوالني و گاهاً با ابهام: با استفاده از جمالت •

دشواري دنبال کردن آن در الگوريتمهاي پيچيده: با استفاده از زبان رياضي•

) : فلوچارت( با استفاده از اشکال •

مستطيل : بيضي محاسباتي: شروع و پايان

ذوزنقه : متوازي االضالع شرطي: ورودي و خروجي

دانشکده مکانيک

Page 6: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

6

الگوريتم و فلوچارت الگوريتمي که سه عدد را بخواند و ميانگين آنها را چاپ کند: مثال .

دانشکده مکانيک

Page 7: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

7

الگوريتم و فلوچارتل به چه زباني مسلط هستيد مي توانيد اگر مهارت الزم در ايجاد يک الگوريتم را پيدا کرديد، در جواب سوا

! به همه زبانهابگوييد

پس سعي کنيد در !!! و تنها کارهايي را انجام مي دهد که شما دستور داديداحساس ندارد کامپيوتر. دستورات خود دقيق باشيد تا برنامه تان اجرا شود

پس در محاسبات چيز ديگري از او . استچهار عمل اصلي و مقايسه مقادير توانايي محاسباتي کامپيوتر تنها. به همين خاطر به محاسبات عددي محاسبات کامپيوتري نيز گفته مي شود. نخواهيد

) مثل متلب (ي نيز استفاده مي شود بعضي از نرم افزارهاي مهندسي که از آنها به عنوان زبان برنامه نويس : نکتهبه عبارتي اين مفاهيم به . را بصورت دستوراتي در خود دارند... برخي توابع مثل ميانگين يک سري از اعداد و

) مثل مثال قبل (بنابراين در اين نوع زبانها هم مي توان از دستورات پايه اي . صورت زير برنامه در آنها نهفته است. و يا براي راحتي کار از زيربرنامه هاي تعبيه شده استفاده نمود

به اشتباه خود پي ببريدچک کردن الگوريتم قبل از اينکه کامپيوتر بگويد برنامه تان اشتباه است، خودتان با .. امه انجام دهيدبهتر است که اين کار را گام به گام و قبل از تکميل الگوريتم يا برن

نگران نباشيد اين . اجه شويدبه اندازه اي برنامه نويسيتان خوب است که با اشکاالت ريز و درشت مو. نيستندMistake هستند و Errorاشکاالت اکثراً از نوع

دانشکده مکانيک

Page 8: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

8

الگوريتم و فلوچارت هر طور ،) فارسي، رياضي يا فلوچارت( مجبور نيستيد خود را مجبور کنيد که به روش خاصي الگوريتم بنويسيد

يم رفتيد سراغ برنامه نويسي شايد بعد از يافتن مهارت الزم با ايجاد الگوريتم در ذهن خود، مستق. راحت هستيد

دانشکده مکانيک

Page 9: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

9

MATLAB الگوريتم و برنامه نويسي به کمک

چرا متلب :). مثال محاسبه معکوس ماتريس. ( بسياري از عمليات رياضي به صورت زيربرنامه در آن گنجانده شده است•پس برنامه نويسي به کمک آن . استفاده نمود... از متلب مي توان در برنامه نويسي، رسم، محاسبات، بهينه سازي و •

بهانه اي است براي آشنايي بيشتر با اين نرم افزار

دانشکده مکانيک

Page 10: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

10

MATLAB الگوريتم و برنامه نويسي به کمک

براي برنامه نويسي با متلب به چه دستوراتي نياز داريم :) يا چاپ کردن( ، خروجي ) يا خواندن( ورودي • شرط• حلقه ها• آرايه ها•). را چطور بنويسيمsin(x)مثال ( آشنايي با توابع در استاندارد زبان مورد نظر • مي تواند به راحتي کار کمک کند، به عنوان مثال matlab دستورات اضافي و استفاده از زيربرنامه هاي •

استفاده نمود و matlab در به جاي نوشتن برنامه معکوس يک مانريس مي توان از دستورات تعبيه شده. اين کار را آسان مي کند

اين دستورات در قالب مثالها مرور مي شود

دانشکده مکانيک

Page 11: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

11

MATLAB الگوريتم و برنامه نويسي به کمک

برنامه اي که سه عدد را بخواند و ميانگين آنها را چاپ کند: مثال .

Congratulations!!! you have made a program, simple though!

دانشکده مکانيک

Page 12: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

12

MATLAB الگوريتم و برنامه نويسي به کمک

انواع ورودي و خروجي :

دانشکده مکانيک

Page 13: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

13

MATLAB الگوريتم و برنامه نويسي به کمک

شما برنامه را مي توانيد هم در command window و هم در M-file بنويسيد، اما در commandwindowاما براي ذخيره کردن برنامه بايد برنامه را در . اجرا مي شودM-fileبنويسيد .

FilenewM-fileنتايج اجراي برنامه را مي توانيد به صورت زير ذخيره نماييد .

Filesave workspace as…

دستورclc براي پاک کردن صفحه command window و دستور ، clear براي پاک کردن نتايج از . حافظه موقت

همه پارامترها از حافظه پاک مي شود از حافظه پاک مي شودA,B فقط

A=2; B=3; C=4;

clear A B

A=2; B=3; C=4;

clear

دانشکده مکانيک

Page 14: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

14

MATLAB الگوريتم و برنامه نويسي به کمک

ندالگوريتمي که دو مقدار را از ورودي خوانده و مقدار بزرگتر را چاپ ک: مثال .

دانشکده مکانيک

Page 15: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

15

MATLAB الگوريتم و برنامه نويسي به کمک

شرط در حالت کلي تر :if بايد endداشته باشد . بسته به مسئله if مي تواند else يا elseifنداشته باشد . elseيعني در غير صورتهاي قبل elseifيعني در غيرصورتهاي قبل اما به شرطي در شرط مي توانيد از عملگرهاي منطقي استفاده کنيد

دانشکده مکانيک

Page 16: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

16

MATLAB الگوريتم و برنامه نويسي به کمک

. حلقه تکرار، وقتي تعداد تکرارها معلوم است عدد را از ورودي خوانده و مجموع آنهار را چاپ کند5الگوريتمي که : مثال .

!! بار تکرار کند5 بار مي گوييد بخواند، يا مي گوييد عمل خواندن را 5 آيا

دانشکده مکانيک

Page 17: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

17

MATLAB الگوريتم و برنامه نويسي به کمک

. را از ورودي خوانده و فاکتوريل آنرا محاسبه نمايدN الگوريتمي که عدد : مثال

در متلب براي فاکتوريل زير برنامه اي نوشته شده است،: نکته . استفاده نمودfactorial (120)براحتي مي شد از دستور

مشخص کنيد، که i=a:dx:bگامها را مي توانيد بصورت : نکته

dx گام حرکت از a به سمت bاست .. در اين مثال بر خالف مثال قبل از خود شمارنده نيز استفاده شده است : نکته

دانشکده مکانيک

Page 18: زا يا هﺪﯿﮑﭼ - Guilanstaff.guilan.ac.ir/staff/users/mehr/fckeditor_repo/file/...10 MATLAB ﮏﻤﮐ ﻪﺑ ﻲﺴﻳﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻭ ﻢﺘﻳﺭﻮﮕﻟﺍ:ﻢﻳﺭﺍﺩ

18

: وظايف شما تا اينجا

نصب متلب اجراي مثالهاي ذکر شدهنوشتن برنامه هاي زير

بار 10 برنامه اي که Guilan universityرا چاپ کند و بين پنجمين و ششمين کلمه، خط چين بکشد . برنامه اي که عدد فرد Nرا بخواند و هر يک از سري هاي زير را محاسبه نمايد .

1 3 5 ...1 1/ 2! ... 1/ !

s Ns N

دانشکده مکانيک