آموزش حلقه while در متلب
در این مطلب قصد داریم تا حلقههای اصلی در زبان برنامه نویسی متلب را آموزش دهیم. بیشتر تمرکزمان روی آموزش حلقه while در متلب است. اگر با زبانهای برنامه نویسی آشنا باشید، حلقههایی مانند for، if، while و غیره را میشناسید. این دقیقاً موضوع بحث ما در همین مطلب است. البته اگر چنین چیزهایی را نشنیدهاید و تازه پا به دنیای برنامه نویسی گذاشتهاید، اصلاً نگران نباشید. در این مقاله در سطح کاملاً مبتدی، همهچیز را شرح دادهایم و هیچ پیش نیاز و دانش قبلی ضروری نخواهد بود. با این حال انتظار داریم انواع دادههای اصلی در متلب را بشناسید.
نگاهی به متلب
همانطور که میدانید، متلب یک زبان برنامه نویسی است. این زبان آنقدر قدرتمند است که برای پروژههای تحقیقاتی علمی و آکادمیک از آن استفادههای فراوانی میشود. علاوه بر آن، از متلب در صنایع مختلفی نیز استفاده میشود. با این حال، سازمانهای تحقیقاتی از جمله دانشگاهها، اصلیترین کاربران نرم افزار متلب بهحساب میآیند.
در کالجها و دانشگاههای مختلف از سراسر دنیا، از متلب برای برنامه نویسی و پردازش سیگنال، ریاضیات پیشرفته، سیستمهای کنترل و غیره استفاده میشود.
متلب رایگان نیست و برای استفاده از آن، میبایست لایسنس آن را بخرید (مشابه با ویندوز یا نرم افزار آفیس). البته نسخههای آزمایشی متلب با مدت زمان محدود برای کاربران قابل استفاده خواهد بود. با وجود اینکه نرم افزارهای متن باز و رایگان دیگر نیز برای کاربردهای مشابه ایجاد شدهاند (مثل R و زبان Python)، اما هنوز هم متلب بهعنوان محبوبترین زبان برنامهنویسی این حوزه، مورد استفاده قرار میگیرد.
انواع حلقه در متلب
حلقهها در برنامه نویسی برای تکرار چندبارهی یک بخش از کد کاربرد دارند. بهعنوان مثال وقتی یک روتین تکراری برای چاپ اعداد از صفر تا صد داریم، میتوانیم برای پیادهسازی آن از حلقهها استفاده کنیم. حلقه for و if در متلب و همچنین حلقه while از جمله انواع حلقه در این زبان بهشمار میآیند.
استفاده از حلقهها در کدنویسی سبب کوتاه شدن طول دستورات و سادهسازی برنامه میشوند. مثلاً اگر بخواهیم کد چاپ اعداد از صفر تا صد را بدون حلقه بنویسیم به حدود ۱۰۰ خط کد نیاز داریم. در هر خط از این کدها باید دستور مربوط به پرینت یکی از اعداد را بنویسیم. در صورتی که با استفاده از حلقهها، این دستورات در چهار خط کد جمعوجور خواهند شد.
هر یک از انواع حلقه، کاربرد و شکل دستوری مخصوص به خود را دارند. به طور کلی ساختار حلقهها از یک شرط، یک دستور و یک بخش کنترلی ساخته شده است. در ادامه، با یکی از انواع حلقههای پرکاربرد برنامهنویسی، یعنی حلقه while در متلب بیشتر آشنا خواهید شد.
شکل دستوری حلقه while در متلب
در این قسمت، شکل کلی و سینتکس while در متلب را ذکر کردهایم. همین سینتکس در بخشهای بعدی بهطور گام به گام و مفصل، شرح داده خواهد شد.
While expression
Statements
End
توضیحات:
- عبارت while، در حقیقت کلمهی کلیدی و شاخص برای تعریف حلقهی while محسوب میشود.
- expression یک عبارت شرطی است. اگر شرط موجود در این عبارت برقرار باشد، حلقهی while کار میکند.
- منظور از Statements، دستورات است. در واقع در این بخش آن چیزی نوشته میشود که در صورت برقراری شرط expression، اجرا میشوند.
- عبارت End، انتهای حلقهی while را نشان میدهد. در این قسمت، حلقه بسته میشود.
برای درک بهتر حلقه while در متلب، در ادامه یک مثال ذکر کردهایم.
پیشنهاد مطالعه: آموزش حل معادله با متلب
مثال برای آموزش حلقه while در متلب
به مثال زیر توجه کنید:
a=10;
% while loop execultion example
While (a<20)
fprintf(‘value of a: %d\n’, a);
a=a+1;
End
توضیحات مثال:
- در ابتدا، یک متغیر (a) تعریف کرده و مقدار آن را برابر با ۱۰ قرار دادهایم.
- خطوطی که با علامت ٪ شروع میشوند، در حکم comment یا توضیحات دستورات ذکر میشوند. کامنتها برای خوانایی کد استفاده میشوند و میتوان آن را نادیده گرفت (اجرا نمیشوند).
- در خط سوم، حلقهی While شروع میشود. شرطی که برای این حلقه در نظر گرفتهایم a<20 است. این بدان معنا است که حلقه تا زمانی که مقدار a از ۲۰ کمتر باشد، اجرا خواهد شد. توجه کنید که در ابتدا، مقدار متغیر a برابر با ۱۰ است.
- خط بعد، دستوری است که در صورت برقراری شرط while، اجرا میشود. در این دستور با تابع fprintf عبارت دلخواه (در اینجا مقدار متغیر a) را چاپ میکنیم.
- در خط پنجم، a+1 یک رقم به مقدار متغیر a اضافه میکند و سپس برقرار بودن شرط، مجدد بررسی خواهد شد. در بار دوم، مقدار متغیر a برابر با ۱۱ است. چون عدد ۱۱ هنوز از عدد ۲۰ (شرط) کمتر است، پس حلقه بار دیگر اجرا خواهد شد.
- در نهایت حلقه تا زمانی که مقدار متغیر a به ۱۹ برسد، اجرا میشود. بعد از آن، حلقه متوقف خواهد شد.
خروجی دقیق حلقهی While در مثال مذکور، در بخشهای بعدی مطلب نشان داده میشود.
نمودار جریان یا فلوچارت برای حلقه while در متلب (flow)
برای وضوح و درک بیشتر مثال حلقهی while میخواهیم نمودار جریان یا همان flow diagram برای این حلقه را ترسیم و تشریح کنیم.
نمودار جریان در تصویر بالا، بسیار ساده است. این همان مراحل حلقهی while است که در بخش شکل دستوری و سینتکس آن، ذکر کردیم. زمانی که شرط بولی (مقادیر true و false) صحیح و برقرار باشد، دستورات بدنهی حلقهی while اجرا میشود. در غیر این صورت حلقه متوقف شده و کاری انجام نخواهد شد.
آموزش حلقه while در متلب
در نمودار جریان در بخش قبلی، روند عملکرد حلقهی while بهخوبی مشخص میشود. در این بخش، شکل دستوری این حلقه در زبان متلب را ذکر کردهایم. توضیحات مفصل و گام به گام نیز ارائه شده است.
حلقهی while بهطور کلی شامل سه قسمت است:
- بخش شرط بولی که میبایست برقرار بودن شرط توسط حلقه ارزیابی و کنترل گردد.
- عملیاتی که در صورت برقرار بودن یا نبودن شرط بولی، میبایست اجرا شود.
- بخش کنترل حلقه که حرکت حلقه یا توقف آن را منجر میشود.
بر اساس این سه اصل، یک حلقهی while میتواند برای تعداد دفعات محدود اجرا شده و خروجیهای محدود تولید کند، یا این که تا زمان نامحدودی اجرا شود مگر آنکه آن را بهصورت دستی، متوقف کنیم.
یک حلقه بی نهایت در متلب ممکن است بهصورت زیر باشد:
N=1;
While N<5
N=N-1
End
توجه کنید که در این مثال، با هربار اجرای حلقه، مقدار N یک واحد کاسته میشود. بنابراین همیشه شرط برقرار بوده و تا بینهایت دفعه، حلقه ادامهدار خواهد بود. به نظر شما این عملیات، ساده و در عین حال قدرتمند نیست؟
مثال برای اموزش حلقه while در متلب
برای درک بیشتر این موضوع، چند مثال و نمونه سوال حلقه while در متلب را در این بخش آوردهایم.
مثال ۱:
این مثال، همان مثالی است که در بخشهای بالاتر همین مطلب ارائه کردیم.
a=10;
% while loop execultion example
While (a<20)
fprintf(‘value of a: %d\n’, a);
a=a+1;
End
خروجیها:
Value of a: 10
Value of a: 11
Value of a: 12
Value of a: 13
Value of a: 14
Value of a: 15
Value of a: 16
Value of a: 17
Value of a: 18
Value of a: 19
مثال ۲:
i = 1;
s = 0;
% while loop execution example
while( i < 3 )
fprintf(‘intermediate sum: %d\n’, s);
s = s + i;
i = i + 1;
end
خروجیها:
intermediate sum = 0
intermediate sum = 1
مثال ۳:
i = 1;
while (i < 3)
i
i = i + 1;
end
خروجیها:
i = 1
i = 2
پیشنهاد مطالعه: آموزش کار با سیمبولینک متلب
جمعبندی
امیدواریم با مثالها و توضیحاتی که ارائه دادیم، حلقهی while در متلب را متوجه شده باشید. توصیه میکنیم تا مثالهای ارائه شده را بهصورت عملی در متلب وارد کنید و خروجی کار را مشاهده کنید. در مراحل بعد، تغییرات مختصری روی کدها ایجاد کرده و تأثیر آن بر خروجی را ارزیابی کنید. برنامه نویسی کاملاً با تمرین و تکرار همراه است. پس سعی کنید تا جایی که میتوانید، تمرین و تکرار کرده و مثالهای بیشتری را خودتان ایجاد کنید.
آموزش متلب در مکتب خونه
اگر به آموزش برنامه نویسی متلب و کار با این نرم افزار علاقهمند هستید، میتوانید از دورههای آموزشی و مقالات متعدد موجود در مکتب خونه استفاده کنید. آموزشها در مکتب خونه به زبان کاملاً ساده و با ذکر مثالهای فراوان همراه شده است. دورهها و مقالات آموزش متلب در مکتب خونه برای افراد مبتدی و سطوح بالاتر قابل استفاده خواهد بود.