عبارات شرطی در متلب / matlab conditions

عبارات شرطی در متلب | MATLAB conditions6 دقیقه مطالعه

هدیه فنولوژی به شما!

در این قسمت از دوره آموزشی متلب در فنولوژی، در مورد عبارات شرطی در متلب صحبت می‌کنیم. در عبارات شرطی، برنامه نویس باید تعیین کند چه شرطی را می‌خواهد توسط برنامه ارزیابی کند و در ادامه اگر شرط درست باشد، یک یا مجموعه دستورات کد شرط توسط برنامه اجرا شود و در غیر این‌صورت اگر شرط نادرست باشد، کاری انجام نشود یا (به صورت اختیاری) مجموعه دستورات دیگری انجام شود. در این قسمت از آموزش رایگان متلب فنولوژی به طور کامل عبارات شرطی در متلب را بررسی می‌کنیم و ساختارهای مختلف را به همراه مثال‌های کاربردی آموزش می‌دهیم. با ما همراه باشید. 

دیاگرام عبارات شرطی در متلب

در تصویر زیر یک دیاگرام کلی در مورد عبارات شرطی در متلب را مشاهده می‌کنید که در اکثر زبان‌های برنامه نویسی نیز به همین صورت انجام می‌شود. 

دیاگرام شرط در متلب / MATLAB conditions diagram

انواع عبارات شرطی در متلب

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

عبارت شرطی توضیحات 
if … end شامل یک عبارت شرط بولین (صحیح یا غلط) و یک کد شرط (جملاتی که باید اجرا شوند)
if … else…end مانند حالت قبل است با این تفاوت که اگر شرط اشتباه باشد، جملات بعد از else اجرا می‌شوند.
if … elseif …elseif…else…end ترکیبی از حالت اول و دوم است با این تفاوت که می‌توان با عبارات elseif چندین شرط دیگر را نیز بررسی نمود و این حالت برای بررسی متغیر‌های زیاد مناسب است.
nested if   برای استفاده از if تو-در-تو که می‌توانید از دستورات if یا elseif درون سایر دستورات if یا elseif استفاده کنید.
switch…case…case…end با استفاده از این دستور می‌توانید یک متغیر را تست کنید و مقدار آن را با یک لیست از مقادیر شرط مقایسه کنید و اگر برابر هر کدام از مقادیر بود، فرمان خاصی اجرا شود. 
nested switch به طور مشایه می‌توانید از switch های تو-در-تو استفاده کنید.

if در متلب

همان‌طور که در توضیحات اشاره شد، این دستور شامل یه نوع داده boolean جلوی if است که شرط مورد نظر بوده و در ادامه مجموعه جملاتی (عبارات موجود در بین if و end) می‌آیند که باید در صورت صحت شرط اجرا شوند. اگر شرط نادرست باشد، دستورات بعد از end اجرا خواهد شد. در زیر سینتکس ابتدائی عبارات شرطی در متلب را مشاهده می‌کنید:

مثال:

یک فایل اسکریپت با نام زیر در متلب ایجاد کنید:

با اجرای فایل نتایج زیر را خواهید دید:

if  else در متلب

عبارت if می‌تواند شامل یک عبارت else به صورت اختیاری باشد که اگر شرط نادرست بود اجرا شود. اگر شرط درست باشد بلوک اول (پس از if) و اگر شرط نادرست باشد بلوک دوم (پس از else) اجرا می‌شود. در ادامه سینتکس مذکور را مشاهده می‌کنید:

مثال:

یک فایل اسکریپت با کد زیر اجرا بنویسید:

نتایج کد بالا به شکل زیر است:

if  elseif  else در متلب

عبارات شرطی می‌توانند شامل یک یا چندین دستور دلخواه elseif باشند که در ادامه می‌تواند با یک else پایانی همراه باشد. همان‌طور که اشاره شد استفاده از این دستور برای بررسی شرایط متفاوت یک متغیر بسیار کاربرد دارد. در ادامه برخی نکات مربوط به این سینتکس را بررسی می‌کنیم و سپس سینتکس اصلی این عبارات شرطی در متلب را مشاهده می‌کنید.

  •  یک عبارت if می‌تواند هیچ یا یک عبارت else داشته باشد که باید پس از همه elseif ها بیاید.
  • یک عبارت if می‌تواند هیچ یا چندین عبارت elseif داشته باشد که باید قبل از else بیاید.
  • اگر یکی از elseif ها درست باشد، دیگر سایر elseif ها یا else اجرا نمی‌شوند.

مشاهده سینتکس:

مثال:

نتیجه:

if تو-در-تو در متلب

این نوع از عبارات شرطی در متلب همواره مجاز است و شما می‌توانید طبق سینتکس زیر از چندین if (و یا else و elseif) در دستورات if دیگر استفاده کنید:

مثال:

نتیجه:

Switch در متلب

بلوک switch به طور معین یکی از مجموعه دستورات از گزینه‌های مختلف را اجرا می‌کند. هر گزینه با یک جمله در case مشخص می‌شود. عبارت سوئیچ (switch_expression) ارزیابی شده یک نوع داده اسکالر یا رشته است و عبارت کیس (case_expression) یک نوع داده اسکالر، رشته یا آرایه سلولی از اسکالرها یا رشته‌ها است. Case ها یکی یکی چک می‌شوند تا جایی که یکی از آن‌ها درست باشد (در این صورت دستورات آن case اجرا شده و بلوک switch خارج می‌شود). بلوک otherwise اختیاری است و اگر هیچ کیسی درست نباشد اجرا می‌شود. در ادامه شروط درست بودن یک کیس را بررسی می‌کنیم:

  • برای اعداد: eq(case_expression,switch_expression)
  • برای رشته‌ها: strcmp(case_expression,switch_expression)
  • برای اشیائی که از دستور روبرو پشتیبانی می‌کنند: eq(case_expression,switch_expression)
  • برای آرایه‌های سلولی عبارت کیس که حداقل یکی از اعضای آن با عبارت سوئیچ مطابقت داشته باشد.(طبق فرمتی که در بالا برای اعداد، رشته‌ها و اشیا گفت شد.)

سینتکس switch در متلب:

مثال:

یک فایل اسکریپت مانند زیر ایجاد کنید:

نتیجه:

switch تو-در-تو در متلب

می‌توان از سوئیچ تو در تو نیز مانند if تو در تو استفاده کرد. حتی اگر مقادیر کیس‌های درونی و بیرونی یکسان باشد، مجاز است. در زیر سینتکس مربوطه را مشاهده کنید:

مثال:

کدهای زیر را در یک فایل اسکریپت بنویسید:

نتیجه:
تیم محتوایی فنولوژی
تیم محتوایی فنولوژی
گروهی از متخصصان حوزه‌های مختلف
عضویت
اطلاع از
0 دیدگاه‌ها
بازخورد در متن
دیدن همه دیدگاه‌ها

فنولوژی را در شبکه‌های اجتماعی دنبال کنید

©۲۰۲۰ – کلیه حقوق مادی و معنوی متعلق به فنولوژی است.