Upload
sani
View
85
Download
0
Embed Size (px)
DESCRIPTION
فصل ششم : تصمیمگیری و کنترل روند، استفاده از حلقهها و دستورات شرطی در متلب. در اين فصل در مورد جملات شرطي و انواع حلقههاي تکرار صحبت خواهيم کرد. 6-1-حلقه for : شکل کلي حلقه for در متلب بصورت زير است: for x= آرايه دستورات end - PowerPoint PPT Presentation
Citation preview
کالس آموزشی - اصفهان صنعتی دانشگاه طبیبی عباس
فصل ششم :تصمیم گیری و
کنترل روند،استفاده از حلقه ها و دستورات شرطی
در متلب
فصل ششم: تصميم گيري و کنترل روند
- اصفهان صنعتی دانشگاه طبیبی عباس
در اين فصل در مورد جمالت شرطي و انواع حلقه هاي تکرار صحبت خواهيم کرد.
:for-حلقه 6-1 در متلب بصورت زير است:forشکل کلي حلقه
for x= آرايهدستورات
endدر اينصورت حلقه فوق به تعداد ستونهاي آرايه مشخص شده تکرار خواهد شد
قرار گرفته و در xو در هر تکرار يکي از ستونهاي اين آرايه در متغير بدنه حلقه قابل استفاده است. در صورتيکه آرايه يک بردار باشد، هر بار
قرار خواهد گرفت.xيک عنصر از آن در متغير تذکر: با توجه به تواناييهاي ماتريسي متلب از کاربرد حلقه ها در متلب تا حد
ممکن بايد پرهيز گردد زيرا اينکار باعث کند شدن شديد برنامه مي شود و نياز به کد نويسي بسيار بيشتري دارد.
فصل ششم: تصميم گيري و کنترل روند
- اصفهان صنعتی دانشگاه طبیبی عباس
-ادامه-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
فصل ششم: تصميم گيري و کنترل روند
- اصفهان صنعتی دانشگاه طبیبی عباس
:while- حلقه 6-2در مواردي که بخواهيم يک يا چند دستور تا برقراري شرط
خاصي تکرار گردند از اين حلقه استفاده مي کنيم. شکل بصورت زير است:whileکلي حلقه
while شرطدستورات
endحلقه فوق تا زمانيکه شرط ذکر شده برقرار باشد تکرار
خواهد شد.
فصل ششم: تصميم گيري و کنترل روند
- اصفهان صنعتی دانشگاه طبیبی عباس
ادامه-– while- حلقه 6-2مثال:
t=1;while t ~= -1
t = input( ‘ Enter a number to continue or -1 to exit from this block: ‘);…
end
فصل ششم: تصميم گيري و کنترل روند
- اصفهان صنعتی دانشگاه طبیبی عباس
ادامه-– 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.بدست آمده از روش فوق است
فصل ششم: تصميم گيري و کنترل روند
- اصفهان صنعتی دانشگاه طبیبی عباس
if-else-end- ساختار 6-3هرگاه بخواهيم يک يا چند جمله در صورت برقرار بودن شرط خاصي
استفاده مي کنيم. شکل کلي if(يکبار) اجرا شود، از بلوک استفاده از اين دستور بصورت زير است:
if 1 شرطدستورات
elseif 2 شرطدستورات
elseif ……
elseدستورات
end;
فصل ششم: تصميم گيري و کنترل روند
- اصفهان صنعتی دانشگاه طبیبی عباس
ادامه-– if-else-end- ساختار 6-3مثال:
Epsilon = 1;while 1 > 0
Epsilon = Epsilon / 2;if Epsilon + 1 == 1
break;end
endبا دستور نکته :break مي توان يک حلقه while يا for را
شکست. در اينصورت اجراي برنامه از نخستين دستور بعد از حلقه ادامه خواهد يافت.
فصل ششم: تصميم گيري و کنترل روند
- اصفهان صنعتی دانشگاه طبیبی عباس
: برنامه ای بنویسید که نمرات چند دانشجو را به ۶-۱تکلیف صورت یک بردار بگیرد و عملیات زیر را انجام دهد:
(ماتریس یا اسکالر باشد)در صورتیکه ورودی کاربر بردار نباشدپیام خطا دهد.(راهنمایی برای دادن پیام خطا می توانید از تابع
error به جای disp(استفاده کنید با استفاده از حلقهfor و دستورات شرطی if-else-end تک تک
نمرات را چک کند و به صورت زیر آنها را تغییر دهد: تغییر دهد۹ را به ۵نمرات کمتر از تغییر دهد.۹.۵ را به ۸ و ۵نمرات بین تغییر دهد.۱۰ را به ۱۰ و ۸نمرات بین نمره افزایش دهد۱ را ۱۵ و ۱۰نمرات بین نمره افزایش دهد.۰.۵ را ۲۰ و کمتر از ۱۵نمرات بیشتر از
۶-۱: برنامه دیگری بنویسید که همان کارهای برنامه ۶-۲تکلیف را بدون استفاده از حلقه انجام دهد.