if در متلب

حلقه هاي کنترلي در متلب

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

کاربرد هر کدام از این حلقه ها در پست های مجزا بررسی می شود.

حلقه های شرطی

حلقه های شرطی در واقع به بررسی شروط در ماتریس ها می پردازد و در صورت درست بودن شرط، عملیاتی را اجرا می کند.لازم به ذکر است حلقه های شرطی پاسخ منطقی برمی گردانند.
به عنوان مثال در صورت درست بودن شرط true یا یک منطقی
در صورت غلط بودن شرط false یا صفر منطقی را بر می گرداند.

اگر پاسخ شرط یک باشد دستور بعد آن اجرا می شود وگرنه دستور بعدی اجرا نخواهد شد. کاربرد حلقه هاي شرطي:

🔸بررسي شروط بر روی ماتریس
🔹نوشتن روابط رياضي پيچيده
🔸بررسي تحقق يک شرط در معادلات

حلقه هاي شرطی مطرح در متلب شامل:

  • if
  • switch

حلقه شرطی if

این حلقه شرطی پایه مشترک تمام زبان های برنامه نویسی می باشد. ساختار کلی حلقه شرطی if به صورت زیر خواهد بود:

if in matlab
حلقه شرطی if

حلقه شرطی if امکان بررسی سلسله شروط را به برنامه نویس می دهد. تنها در صورتی که یک شرط برقرار باشد دستور بعد از آن را اجرا می کند و از حلقه شرطی خارج می شود.

کاربرد:
زماني که به ازاي رنج هاي مختلف ورودي، خروجي هاي مختلفي تعريف شود از حلقه کنترلي if يا switch استفاده مي شود. در اين حالت براي هر رنج ورودي (شرط) يک if يا elseif قرار مي دهيم تا در صورت برقراري شرط، دستور بعد از آن اجرا شود.

<pre class="wp-block-syntaxhighlighter-code">%% if loop 
n = input (' pleas enter a number: ' )
t = 1:n;
if n==10
    y=10;
elseif n <= 5
    y= 2*t+1;
else
    y= t.^2;
end

plot (t,y,'k*')
grid on 
xlabel('t')
ylabel('y')
</pre>

در مثال بالا:

🔸پس از دريافت يک عدد از کاربر (مثلا 8 )
🔹در if اول چک مي شود که ايا عدد دریافتی برابر 10 است يا خير
🔹در صورت درست بودن y را برابر با ده کرده و از حلقه خارج مي شود
🔸اگر شرط درست نباشد شرط دوم بررسي مي شود اگر شرط دوم درست باشد y را مقدار دهی می کند.
🔹اگر هيچ کدام از شرط ها برقرار نباشد وارد دستور else شده و y را حساب مي کند

پس از بررسی تمام شرط ها و تعیین مقدر خروجی y، در نهايت آنر را با دستور plot رسم مي کند.

نکته مهم:
در حلقه if و switch در صورت درست بودن شرطي فقط دستور آن شرط بررسي مي شود و ساير شروط بررسي نمي شود.

نکته برای حرفه ای ها:
مي توان از شرط هاي ترکيبي نيز استفاده کرد تا هر مرتبه چندين شرط همزمان بررسي شود. (که در ويديو اموزشي توضيح داده خواهد شد. )

حلقه شرطی switch

این حلقه شرطی عملکردی مشابه با if دارد با این تفاوت که

در اینجا برای انجام شدن دستورات، باید مقدار جلوی case با مقدار پارامتر switch برابر باشد .

حلقه شرطی switch

مشابه کد مثال زده شده که می بینید

clc ; clear all ;close all
%%  switch _case
n = input('Enter a number: '); 
%n= 1
switch n                       
   
    case -1                 
        disp('negative one')
    case 0 
        disp('zero')
    case 1 
        disp('positive one')
    otherwise
        disp('other value')
end
  • داده ورودی از کاربر گرفته شده و مقادیر آن مورد بررسی قرار می گیرد
  • اگر داده گرفته شده برابر هر کدام از مقادیر case باشد دستور پس از آن اجرا می شود
  • اگر هیچ کدام از case ها درست نباشد در نتیجه دستور بعد از otherwise اجرا خواهد شد .

نکته برای حرفه ای ها:
برای switch هم می توان همانند if عبارت شرطی در نظر گرفت.

نظر برای “حلقه های شرطی

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

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