حلقه‌ها در متلب / loops in matlab

حلقه در متلب | MATLAB Loops آموزش رایگان متلب فنولوژی7 دقیقه مطالعه

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

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

بلوک دیاگرام حلقه‌ در متلب

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

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

دیاگرام حلقه در متلب / loop diagram in matlab

انواع حلقه‌ها در متلب

حلقه در متلب انواع مختلف دارد که در سه نوع آن را به طور مختصر توضیح می‌دهیم. در ادامه‌ی همین نوشته کامل‌تر به هریک از آن‌ها می‌پردازیم.

  • While: تا وقتی شرط درست باشد، حلقه را تکرار می‌کند؛ این ساختار قبل از ورود به حلقه شرط را چک می‌کند.
  • for: برای اجرای مجموعه دستورات با تعداد زیاد، که شرایط کنترلی حلقه به صورت خلاصه در ورودی تابع مشخص می‌شوند.
  • nested loops: می‌توانید یک یا چند حلقه، درون حلقه‌های دیگر قرار دهید.

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

جملات کنترلی حلقه اجرای دستورات را از حالت طبیعی خارج می‌کنند. وقتی اجرای یک دستور از یک اسکوپ (scope) خارج می‌شود، همه‌ی اشیای ایجاد شده در آن اسکوپ از بین می‌روند. متلب از دستورات کنترلی زیر پشتیبانی می‌کند. در ادامه بلوک دیاگرام آن‌ها را نیز مشاهده می‌کنید.

  • break: حلقه‌ را تمام می‌کند، از حلقه خارج شده و عملیات را به اولین دستور بعد ازحلقه انتقال می‌دهد.
  • continue: این دستور ادامه‌ی دستورات بدنه‌ی حلقه را رد می‌کند و به شرط اولیه برمی‌گردد.

جملات کنترلی حلقه در متلب / loop control statements in matlab

حلقه while در متلب

این نوع حلقه ابتدا شرط را چک می‌کند و تا وقتی که شرط درست باشد در حلقه می‌ماند. در ادامه به سینتکس while در متلب توجه کنید:

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

مثال: یک فایل اسکریپ ایجاد کرده و کد زیر را در آن قرار دهید:

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

تا هنگامی که a کمتر از ۲۰ باشد آن‌ را چاپ می‌کند.

حلقه for در متلب

با استفاده از حلقه‌ی for می‌توانید به صورت کارامد یک حلقه با ساختارهای کنترلی قابل تکرار بنویسید که به تعداد مشخصی تکرار شود. در ادامه به سینتکس این حلقه در متلب اشاره می‌کنیم:

مقادیر (values) یکی موارد زیر می‌تواند باشد:

  • initval:endval : متغییر index را از مقدار initval تا مقدار endval یکی یکی افزایش می‌دهد و عملیات را تا جایی ادامه می‌دهد که ایندکس از endval بیش‌تر شود.
  • initval:step:endval : مانند حالت قبل است با این تفاوت که به جای افزایش یکی یکی ایندکس، به اندازه‌ی گام‌های step ایندکس را افزایش می‌دهد. (‌یا در صورت منفی بودن step ایندکس را کاهش می‌دهد.)
  • valArray : یک بردار از ایندکس‌ها ایجاد می‌کند که هر تکرار حلقه به ترتیب روی یکی از عناصر این بردار انجام می‌شود. این برداد می‌تواند شامل انواع دیتا تایپ در متلب مانند رشته، آرایه سلولی یا struct باشد.

مثال initval:endval

یک فایل اسکریپ ایجاد کرده و کد زیر را در آن قرار دهید:

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

مقادیر a از ۱۰ تا ۲۰ یکی یکی افزایش یافته و نمایش داده می‌شود.

مثال initval:step:endval

یک فایل اسکریپ ایجاد کرده و کد زیر را در آن قرار دهید:

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

مقادیر a از ۱ تا منفی ۰.۱ یک دهم یک دهم کاهش یافته و نمایش داده می‌شود.

مثال valArray

یک فایل اسکریپ ایجاد کرده و کد زیر را در آن قرار دهید:

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

مقادیر a از با توجه به بردار آن و به ترتیب نمایش داده می‌شود.

حلقه تو در تو (nested loops) در متلب

متلب به شما اجازه می‌دهد از حلقه‌ای درون حلقه‌ی دیگر استفاده کنید. در ادامه به دو نوع سینتکس حلقه تو در تو در متلب و مثال‌های آن اشاره می‌کنیم.

حلقه تو در توی for در متلب مطابق سینتکس زیر است:

حلقه تو در توی while در متلب مطابق سینتکس زیر است:

مثال: در این مثال با استفاده از حلقه‌های تو در تو در متلب می‌خواهیم اعداد اول بین ۱ تا ۱۰۰ را نمایش دهیم. یک فایل اسکریپ ایجاد کرده و کد زیر را در آن قرار دهید:

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

دستور break در حلقه‌

دستور break اجرای حلقه‌های while یا for را متوقف می‌کند. جملاتی که پس از این دستور در حلقه‌ باشند، دیگر اجرا نخواهند شد. در حلقه‌های تو در تو، دستور break فقط در حلقه‌ای که در آن وجود دارد اجرا می‌شود (نه حلقه‌های بزرگ‌تر) به این صورت که مسیر کنترلی از آن پس به جملات پس از اتمام حلقه منتقل می‌شود.

مثال: یک فایل اسکریپ ایجاد کرده و کد زیر را در آن قرار دهید:

با اجرای کد به نتایج زیر می‌رسیم. اگر a بزرگ‌تر از ۱۵ باشد از حلقه خارج می‌شویم.

دستور continue در حلقه‌

از دستور continue برای انتقال کنترل حلقه‌ها به تکرار بعدی (و گذشتن از ادامه بدنه‌ی دستورات شرط) استفاده می‌شود. به عبارتی دستور continue مانند دستور break عمل می‌کند با این تفاوت که به جای گذشتن از همه‌ی تکرارها و اتمام حلقه، دستور continue فقط از یک تکرار رد می‌شود و کدهای بین آن را اجرا نمی‌کند و به سراغ تکرارهای بعدی می‌رود.

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

در این حال اگر a برابر ۱۵ باشد، از آن جمله می‌گذرد و به تکرارهای بعدی می‌رود. نتایج مانند زیر خواهد بود:
تیم محتوایی فنولوژی
تیم محتوایی فنولوژی
گروهی از متخصصان حوزه‌های مختلف
عضویت
اطلاع از
0 دیدگاه‌ها
بازخورد در متن
دیدن همه دیدگاه‌ها

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

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