برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

داده هایی در مورد برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

دنبال کنندگان ۳ نفر
این وبلاگ را دنبال کنید
تبلیغات
آخرین نظرات

حلقه for در متلب

ShahBaz | دوشنبه, ۳۰ بهمن ۱۳۹۶، ۱۲:۰۵ ق.ظ

حلقه for در متلب

حلقه for در نرم افزار متلب ( matlab ) بیانگر تعداد تکرار دستورات به اندازه و گام حرکتی مشخص است ، ساختار کلی این حلقه در نرم افزار متلب بفرم زیر است

for  (parameter name)=initial : increament : final

     (  دستور یا فرمولهای محاسباتی )

end

مثال :

فرض کنید میخواهیم مقدار سینوس را در بازه 0 تا 2pi با گام 0.1pi  در نرم افزار متلب محاسبه کرده و در ماتریس سطری y ذخیره نمائیم و سپس نمودار مربوطه را ترسیم کنیم :

حل : یک m-file در نرم افزار مطلب باز کرده و برنامه زیر را در آن تایپ کنید :

clc;

clear all;

i=0;

for k=0:0.1*pi:2*pi

    i=i+1

    y(1,i)=sin(k);

    x(1,i)=k

end

plot(x,y,'b','linewidth',2)

axis([0 2*pi -2 2])

grid on

box off

legend('sin(x)')

قبل از اینکه برنامه را در مطلب اجرا کنید نکاتی راجع به آن توضیح میدهیم

همانگونه که از ساختار حلقه for  مشاهده می شود بعد از نوشتن این تابع در جلو این تابع با حداقل یک کاراکتر فاصله ( یا  بیشتر )  نام متغیر دلخواه مانند k نوشته می شود این متغیر لازم نیست حتما در دستورات داخل حلقه بکار رود بلکه مفهوم آن به عنوان یک پارامتر برای اینکه چند بار دستورات داخل حلقه اجرا شوند که در برنامه فوق تعداد تکرار 21 بار می باشد .

حال ساختاربرنامه فوق طوری است که از همین متغیر k برای سرعت بخشیدن به محاسبات نیز توانستیم استفاده نمائیم ، در داخل حلقه ازیک عبارت i=i+1 که در خارج از حلقه i=0 قرار داده ایم استفاده کرده ایم که شاید یرایتان مبهم باشد ، اصطلاحا به اینگونه متغیرها ، شماره انداز گفته می شود  .

نحوه عملکرد شماره انداز بدین صورت است که در حالت اول که i=0 فرض شده وارد حلقه می شویم و مقدار i بفرم i=i+1=0+1=1 تغیر می ابد ، پس در اولین اجرای حلقه i=1 شد ، در اجرای دوم حلقه مقدار جدید iدر رابطه قرار داده می شود و لذا i=i+1=1+1=2 و درنتیجه در اجرای دوم i=2 شد به همین ترتیب با هربار اجرای حلقه مقدار i به اندازه یک واحد ( میتوانید به دلخواه افزایش آنرا تغییر دهید )  افزایش پیدا می کند تفکر ایجاد شماره انداز شاید در ظاهر امری ساده و بیهوده به نظر برسد ولی در بسیاری از برنامه ها کاربرد آن را خواهید دید ، مثلا در برنامه فوق برای ایجاد شماره ستونهای ماتریس yو x مورد استفاده قرار گرفته است .

دستورات دیگر از حلقه for در نرم افزار مطلب ( matlab ) دستورات ترسیم دو بعدی می باشند که در قسمت مربوطه به طور مفصل شرح داده خواهد شد ، بعد از اجرای برنامه در نرم افزار متلب خروجی برنامه شما بصورت زیر خواهد بود :

   شما می توانید چندین حلقه for   را که نیاز داشتید بصورت تو در تو بکار ببرید ، البته نحوه اجرا بدین صورت خواهد بود که بعد از هر بار اجرای کامل حلقه داخلی حلقه خارجی فقط یکبار اجرا خواهد شد :

for i=1:5

    for j=1:3

        a(i,j)=2*j-i;

    end

end

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

    

خروجی برنامه فوق ماتریس a را بفرم زیر مشاهده خواهید کرد :

a =

 

     1     3     5

     0     2     4

    -1     1     3

 ساده ترین تصوری که میتوان از عملکرد حلقه های تو در تو بیان کرد همانند عملکرد عقربه های ثانیه شمار و دقیقه شمار و ساعت شمار است که میتوان آنرا مشابه سه حلقه تو در تو دانست که به ازاء هربار اجرای داخلی ترین حلقه ( ثانیه شمار) حلقه خارجی آن یک گام به جلو ( دقیقه شمار) و به ازای هریار اجرای کامل این حلقه ( دقیقه شمار) حلقه خارجی آن( ساعت شمار یک گام ) به جلوتر میرود  :

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

 

F{1,1} = [1 2; 3 4];

F{1,2} = [-1 0; 0 1];

F{2,1} = [7 8; 4 1];

F{2,2} = [4i 3+2i; 1-8i 5];

 

for k = 1:4

   for m = 1:2

      for n = 1:2

         NUM(m,n,k) = F{k}(m,n);

      end

   end

end

  • ShahBaz

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی