آموزش متلب

كنترل جريان محاسبات

كنترل جريان محاسبات
MATLAB داراي چندين تركيب كنترل جريان محاسبات است كه به برنامه امكان مي دهد كه در حين اجرا تصميمات لازم را اتخاذ كرده و ترتيب اجراي دستورات را كنترل كند. اين دستورها در زير شرح داده مي شوند.
دستور if برنامه را قادر مي سازد كه تصميم بگيرد كه چه دستورهايي بايد اجرا گردند. مثال:

x = input(‘ x = ‘);
if x >= 0
y=x^2
end

عبارتي كه به دنبال كلمه if مي آيد بايد يك عبارت منطقي باشد. در صورت درست بودن اين عبارت منطقي، دستورهايي كه در سطرهاي بين end و if قرار دارند بترتيب اجرا مي گردند و در صورت نادرست بودن اين عبارت منطقي، دستورهاي گفته شده ناديده گرفته مي شوند.

شما همچنين مي توانيد از دستور else استفاده كنيد. مثال:

x = input(‘ x = ‘);
if x >= 0
y=x^2
else
y=-x^2
end

در اين حالت اگر عبارت منطقي مورد نظر درست باشد، مجموعه دستورهاي بين else و if اجرا مي گردند و در غير اين صورت دستورهاي بين end و else قابل اجرا مي باشند.
دستور for به برنامه اجازه مي دهد كه دستورهاي درج شده بين end و for را به دفعات معيني تكرار نمايد. مثال:

k = 0;
for x = 0:0.2:1
k = k + 1
y = exp(-x)
end

در مواردي كه لازم باشد كه در حين اجراي برنامه مجموعه اي از دستورات تكرار گردند ولي تعداد دفعات تكرار معلوم نباشد بلكه اين عمليات تا ارضا شدن شرط يا شروط معيني ادامه يابند، مي توان از دستور while استفاده نمود. مثال:

x = 0;
while x < 1
y = sin(x)
x = x + 0.1;
end

همانند آنچه در مورد دستور if گفته شد، عبارتي كه به دنبال كلمه while مي آيد بايد يك عبارت منطقي باشد كه در واقع همان شرط مورد نظر است. در صورت صادق بودن اين عبارت منطقي، دستورهايي كه در سطرهاي بين end و while قرار دارند بترتيب اجرا مي گردند تا آنجايي كه شرط مورد نظر ديگر برقرار نباشد.
وقتي كه لازم باشد كه برنامه بر حسب مقادير مختلف يك متغير، متناظرا” دستورهاي متفاوتي را اجرا كند، بكار بردن تركيب switch-case راحت تر از بكار بردن چندين دستور if متداخل است. مثال:

a = input(‘a =’);
switch a
case 1
disp(‘One’)
case 2
disp(‘Two’)
case 3
disp(‘Three’)
end

شما مي توانيد در صورت لزوم قبل از كامل شدن حلقه به كمك دستور break از آن خارج شويد.
هنگامي كه برنامه در حين اجرا به دستور pause برسد متوقف مي ماند ا اينكه شما كليدي را روي صفحه كليد فشار دهيد و سپس اجراي برنامه از دستور بعد از pause ادامه مي يابد. مثال:

k = 0;
for x = 0:0.2:1
if k > 5
disp(‘k > 5’)
break
end
k = k + 1;
y = exp(-x);
disp([‘ k = ‘,num2str(k),’ y = ‘,num2str(y)])
pause
end

در مثال فوق، برنامه هر بار پس از نشان دادن مقادير y و k متوقف مي ماند تا اينكه كليدي روي صفحه كليد فشرده شود. سپس حلقه for  بار ديگر تكرار مي گردد و اين عمل آنقدر ادامه مي يابد تا اينكه مقدار k از ٥ بيشتر شود.
در اين موقع دستور break باعث خروج برنامه از حلقه for ( و در اين مثال پايان اجراي برنامه) مي شود.

 

 

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *