9
ی ش وز م لاس آ ک هان ف ص ی آ عت ن ص گاه ش ندآ- ی! ت" ب! ی ط ب! اس ع م : ش ش ل ص ف رل ت1 ن ک ری و6 گت م6 ی م ص ت د، زونها و ه ق ل ح اده آز ف نE س آ ی دز ط ر ش وزآت ت س د! ب ل ب م

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

  • Upload
    sani

  • View
    85

  • Download
    0

Embed Size (px)

DESCRIPTION

فصل ششم : تصمیم‌گیری و کنترل روند، استفاده از حلقه‌ها و دستورات شرطی در متلب. در اين فصل در مورد جملات شرطي و انواع حلقه‌هاي تکرار صحبت خواهيم کرد. 6-1-حلقه for : شکل کلي حلقه for در متلب بصورت زير است: for x= آرايه دستورات end - PowerPoint PPT Presentation

Citation preview

Page 1: فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب

کالس آموزشی - اصفهان صنعتی دانشگاه طبیبی عباس

فصل ششم :تصمیم گیری و

کنترل روند،استفاده از حلقه ها و دستورات شرطی

در متلب

Page 2: فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب

فصل ششم: تصميم گيري و کنترل روند

- اصفهان صنعتی دانشگاه طبیبی عباس

در اين فصل در مورد جمالت شرطي و انواع حلقه هاي تکرار صحبت خواهيم کرد.

:for-حلقه 6-1 در متلب بصورت زير است:forشکل کلي حلقه

for x= آرايهدستورات

endدر اينصورت حلقه فوق به تعداد ستونهاي آرايه مشخص شده تکرار خواهد شد

قرار گرفته و در xو در هر تکرار يکي از ستونهاي اين آرايه در متغير بدنه حلقه قابل استفاده است. در صورتيکه آرايه يک بردار باشد، هر بار

قرار خواهد گرفت.xيک عنصر از آن در متغير تذکر: با توجه به تواناييهاي ماتريسي متلب از کاربرد حلقه ها در متلب تا حد

ممکن بايد پرهيز گردد زيرا اينکار باعث کند شدن شديد برنامه مي شود و نياز به کد نويسي بسيار بيشتري دارد.

Page 3: فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب

فصل ششم: تصميم گيري و کنترل روند

- اصفهان صنعتی دانشگاه طبیبی عباس

-ادامه-for- حلقه 6-1مثال:

for n=1:10x(n) = sin(n * pi / 10);

end;--------------for k=[1,2,3,7]

x(k) = k+1;end;>>xx=

2 3 4 0 0 0 0 8

Page 4: فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب

فصل ششم: تصميم گيري و کنترل روند

- اصفهان صنعتی دانشگاه طبیبی عباس

:while- حلقه 6-2در مواردي که بخواهيم يک يا چند دستور تا برقراري شرط

خاصي تکرار گردند از اين حلقه استفاده مي کنيم. شکل بصورت زير است:whileکلي حلقه

while شرطدستورات

endحلقه فوق تا زمانيکه شرط ذکر شده برقرار باشد تکرار

خواهد شد.

Page 5: فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب

فصل ششم: تصميم گيري و کنترل روند

- اصفهان صنعتی دانشگاه طبیبی عباس

ادامه-– while- حلقه 6-2مثال:

t=1;while t ~= -1

t = input( ‘ Enter a number to continue or -1 to exit from this block: ‘);…

end

Page 6: فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب

فصل ششم: تصميم گيري و کنترل روند

- اصفهان صنعتی دانشگاه طبیبی عباس

ادامه-– while- حلقه 6-2مثال:

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

Epsilon=1;while ( 1 + Epsilon ) > 1

Epsilon = Epsilon / 2;end;disp(‘This is the smallest floating point number in matlab: );disp ( Epsilon);

در متلب حاوي کوچکترين عددي است که اگر با يک epsنکته : متغير ويژه جمع شود مقدار حاصل از يک بزرکتر خواهد بود. که اين عدد دوبرابر

Epsilon.بدست آمده از روش فوق است

Page 7: فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب

فصل ششم: تصميم گيري و کنترل روند

- اصفهان صنعتی دانشگاه طبیبی عباس

if-else-end- ساختار 6-3هرگاه بخواهيم يک يا چند جمله در صورت برقرار بودن شرط خاصي

استفاده مي کنيم. شکل کلي if(يکبار) اجرا شود، از بلوک استفاده از اين دستور بصورت زير است:

if 1 شرطدستورات

elseif 2 شرطدستورات

elseif ……

elseدستورات

end;

Page 8: فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب

فصل ششم: تصميم گيري و کنترل روند

- اصفهان صنعتی دانشگاه طبیبی عباس

ادامه-– if-else-end- ساختار 6-3مثال:

Epsilon = 1;while 1 > 0

Epsilon = Epsilon / 2;if Epsilon + 1 == 1

break;end

endبا دستور نکته :break مي توان يک حلقه while يا for را

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

Page 9: فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب

فصل ششم: تصميم گيري و کنترل روند

- اصفهان صنعتی دانشگاه طبیبی عباس

: برنامه ای بنویسید که نمرات چند دانشجو را به ۶-۱تکلیف صورت یک بردار بگیرد و عملیات زیر را انجام دهد:

(ماتریس یا اسکالر باشد)در صورتیکه ورودی کاربر بردار نباشدپیام خطا دهد.(راهنمایی برای دادن پیام خطا می توانید از تابع

error به جای disp(استفاده کنید با استفاده از حلقهfor و دستورات شرطی if-else-end تک تک

نمرات را چک کند و به صورت زیر آنها را تغییر دهد: تغییر دهد۹ را به ۵نمرات کمتر از تغییر دهد.۹.۵ را به ۸ و ۵نمرات بین تغییر دهد.۱۰ را به ۱۰ و ۸نمرات بین نمره افزایش دهد۱ را ۱۵ و ۱۰نمرات بین نمره افزایش دهد.۰.۵ را ۲۰ و کمتر از ۱۵نمرات بیشتر از

۶-۱: برنامه دیگری بنویسید که همان کارهای برنامه ۶-۲تکلیف را بدون استفاده از حلقه انجام دهد.