توسعه دهنده نرم افزار اوران ، ورود

آموزش برنامه نویسی (کدنویسی) متلب (MATLAB) – قسمت دهم

  • آموزش برنامه نویسی متلب (MATLAB) - قسمت دهم
  • نظرات

آموزش کدنویسی در نرم افزار متلب (MATLAB) – قسمت دهم –  ساختارهای کنترلی در متلب – حلقه تکرار “for”

 

یکی از ساختارهای کنترلی مهم برنامه نویسی متلب استفاده از دستور حلقه  “for”  می باشد. در این قسمت آموزش با کد نویسی کردن سری فیبوناچی، با کاربرد دستور \’for\’ آشنا می شویم. سری فیبوناچی به صورت زیر تعریف می شود :

for-1

همانطور که مشاهده می شود در این دنباله هر عدد مجموع دو عدد ماقبل خود می باشد. برای مثال المان هفتم این دنباله که عدد 8 می باشد از مجموع دو عدد ماقبل خود یعنی اعداد 5 و 3 بدست می آید. می توان سری فیبوناچی را به صورت زیر بیان نمود:

for-2

این فرمول نیز بیانگر این است که متغیر تعریف شده به نام F  در مرحله k  ام از مجموع آن متغیر در مرحله k-1 و k-2 بدست می آید. فرض کنیم خواسته باشیم تا جمله ی k=1000 ام این سری را حساب کنیم. برای این منظور از دستور for استفاده می کنیم. کد نویسی را آغاز می کنیم.

با تایپ عبارت edit در پنجره Command Window یک اسکریپت جدید برای کد نویسی ایجاد می کنیم. در آغاز برنامه نویسی با استفاده از دستور clc، تمامی اطلاعات پنجره Command Window پاک شده، با دستور clear تمامی اطلاعات پنجره Workspace که تمامی متغیرها در آن جا ذخیره می شود، پاک می شوند و با دستور close all اگر شکلی از قبل وجود داشته باشد آن را می بندیم. داریم:

for-3

همانطور که گفتیم فرض کنیم می خواهیم 100 جمله از این سری را محاسبه کنیم. برای این منظور متغیری به نام N  ایجاد می کنیم و مقدار 100 را در آن ذخیره می کنیم. داریم:

for-4

مجددا رابطه ریاضی سری فیبوناچی را درنظر بگیریم:

for-2

چنانچه این عبارت را به زبان برنامه نویسی معرفی کنیم. زبان متلب ابتدا سمت راست عملگر انتصاب “=” را محاسبه می کند و مقدار محاسبه شده را در متغیر سمت چپ جایگذاری می کند. بنابراین قبل از هر مرحله باید المان اول و دوم متغیر F یعنی F(1)=0 و F(2)=0 به متلب شناسانده شود تا برای شروع محاسبات که از سمت چپ عملگر انتصاب آغاز می شود، متغیرها از قبل تعریف شده باشند. داریم:

for-5

ما می خواهیم در هر مرحله مقدار متغیر (F(k را از مراحل قبلی یعنی (F(k-1 و (F(k-2 محاسبه کنیم. با استفاده از دستور کنترلی”for”داریم:

for-6

بعد از تایپ دستور “for” (همانطور که در خط 9 مشاهده می کنید اندیسی با نام اختیاری مثلا “k” انتخاب می کنیم که این اندیس از مقدار 3 تا مقدار N تغییر می کند. توجه کنید زبان برنامه نویسی متلب ابتدا اندیس k=3 را انتخاب می کند و سپس به خط 11 برنامه خواهد رفت. در این خط برنامه چون از عملگر انتصاب استفاده کرده ایم، زبان برنامه نویسی ابتدا سمت راست عملگر را مورد محاسبه قرار می دهد. یعنی به ازای k=3 مقادیر (F(k-1)=F(3-1)=F(2و  (F(k-2)=F(3-2)=F(1 بدست می آید و با هم جمع می شوند. (توجه کنید که ما قبلا مقادیر (F(1) و (F(2 را در خط ششم و هفتم به متلب معرفی کرده ایم. در نهایت این حاصل جمع، محاسبه شده و در متغیر سمت چپ عملگر انتصاب یعنی (F(k)=F(3 ذخیره می شود. سپس مجددا به خط نهم بر می گردیم و این دفعه اندیس k=4 در نظر گرفته می شود و این روند محاسباتی آنقدر در حلقه ادامه می یابد که اندیس k به مقدار N برسد. تا در نهایت مقدار متغیر (F(k)=F(N)=F(1000 از مجموع دو جمله (F(k-1)=F(N-1)=F(999 و (F(k-2)=F(N-2)=F(998 بدست آید. در این حالت محاسبات از حلقه for خارج می شود.

چنانچه در پنجره فضای کاری (Workspace)، بر روی متغیر F کلیک کنیم می توانیم تمامی اعداد سری فیبوناچی را مشاهده کنیم:

for-7

در قسمت یازدهم آموزش ساختار کنترلی حلقه تکرار “for” را پی میگیریم.

پاسخ دهید

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

19 + پنج =

Next

مقالات مرتبط