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

منظور از ورودی دلخواه این است که هنگام استفاده از تابع، می توانیم انتخاب کنیم که آن ورودی را به تابع بدهیم یا نه و البته نحوه اجرای تابع، در این دو حالت نیز متفاوت خواهد بود.

برای شرح چگونگی تعریف یک یا چند ورودی، به عنوان ورودی های دلخواه برای تابع، به مثال زیر توجه کنید :

مثال :

من ابتدا تابعی را به صورت عادی و با 4 متغیر به عنوان ورودی تعریف می کنم که دو تا از آن 4 ورودی، در تابع استفاده نمی شوند، زیرا می خواهم نکاتی را به شما نشان بدهم :

 

function [E] = addFunction(A,B,C,D)
E=A+B;

چون نام تابع را برابر addFunction انتخاب کرده ایم، بنابراین باید کد بالا در یک m-file با نام addFunction ذخیره شود (یعنی فایل addFunction.m). همچنین فایل مورد نظر، باید در مسیر های (path) تعریف شده در متلب قرار داشته باشد یا مسیر آن را به مسیرهای متلب اضافه کنیم.

پس با فرض تعریف تابع به صورت بالا، کد زیر را اجرا می کنیم :

 

addFunction(1,2,3)

نتیجه :

 

ans =

     3

اکنون کد زیر را اجرا می کنیم :

 

addFunction(1,2)

نتیجه :

 

ans =

     3

پس مشاهده می کنید، اگر در کدهای تابع، کدهایی بر اساس یک یا چند ورودی وجود نداشته باشد، عدم تعریف آنها به صورت ورودی تابع، اختلالی در اجرای کدهای تابع ایجاد نمی کند و تنها باید به ترتیب متغیرهای ورودی توجه کرد که مثلا چون دو ورودی را به عنوان ورودی های تابع تعیین کرده ایم، بنابراین تابع آن دو را به عنوان دو ورودی اول تعریف شده (یعنی A و B ) در نظر می گیرد.

بنابراین ما باید کدهای تابع را به گونه ای بنویسیم که اگر متغیرهای C و D (که می خواهیم ورودی دلخواه باشند)، تعیین شده بودند، یک سری کد و اگر تعیین نشده بودند، یک سری کد دیگر اجرا گردد. برای این منظور، از تابع exist استفاده می کنیم که می تواند برای تشخیص تعریف شدن یا تعریف نشدن یک متغیر به کار رود.

بنابراین این بار، کدهای تابع را به صورت زیر می نویسیم :

 

function [E] = addFunction(A,B,C,D)
E=A+B;
if(exist(D)) % C and D are defined
    E=A+B+C+D;
elseif(exist(C)) % C is defined
    E=A+B+C;
else
    E=A+B;
end

اکنون چند بار به تابع ارجاع می دهیم. ابتدا هر 4 ورودی را تعیین می کنیم (A و B و C و D) :

 

addFunction(1,2,3,4)

نتیجه :

 

ans =

    10

این بار تنها 3 ورودی را تعیین می کنیم (A و B و C) :

 

addFunction(1,2,3)

نتیجه :

 

ans =

     6

و در آخر، تنها دو ورودی را تعیین می کنیم (A و B):

 

addFunction(1,2)

نتیجه :

 

ans =

     3

 



1394/04/21 1:28:31 PM

نوشته شده توسط مجتبی شکوه

  نظرات شما  
   
 
نام:  
ن خانوادگی:  
تلفن:  
متن:  
   
   

    نظرات شما