استفاده از دستور if در متلب

چاپ

ساده ترین تصمیم این است که آیا کاری را انجام دهیم یا نه. اما ممکن است شما به دو حالت نیاز داشته باشید. اگر که یک حالت true باشد، کاری انجام شود و اگر که آن حالت false باشد، کار دیگری انجام شود. برخی اوقات نیز ممکن است نیاز داشته باشید تا از بین چند حالت، یک حالت را انتخاب کنید. در بخش های زیر، به این مباحث خواهیم پرداخت.

ایجاد یک تصمیم ساده

 دستور if این امکان را فراهم می آورد تا در صورتی که یک شرط true باشد، کاری انجام شود و یا در صورتی که شرط false باشد، کار دیگری انجام شود. در بخش های زیر به این مبحث می پردازیم که چطور یک تابع ایجاد کنیم که شامل یک دستور if باشد. 
1. برای انجام این کار، در تب Home از متلب، بر روی مثلث زیر دکمه ی New، کلیک کنید و از لیست باز شده گزینه ی Function را انتخاب کنید.

در عکس 1.10 پنجره ی Editor را مشاهده می کنید. به عبارات سبز رنگ که با یک علامت % شروع شده اند، کامنت گفته می شود و فقط توضیحی در مورد کدها هستند و هیچ کار دیگری انجام نمی دهند. حتی می توانید آنها را حذف کنید.

 آموزش نرم افزار متلب

2. عبارت output_args را حذف کنید. 

در این مثال از آرگومان خروجی استفاده نمی کنیم. اما از آرگومان ورودی استفاده خواهیم نمود.

3. نام تابع را از Untitled به SimpleIf تغییر دهید.

نام تابع اصلی باید با نام فایل ای که آن را ذخیره می کنیم، یکی باشد. 

4. مقدار عبارت input_args را به Value تغییر دهید. 

از عبارت input_args تنها برای اطلاع به شما برای ارائه دادن آرگومان های ورودی استفاده می شود. 

اکنون کدهای ما به صورت زیر در آمده است، در صورت نیاز می توانید کدهای زیر را کپی کنید و در متلب الصاق کنید:

function [  ] = SimpleIf( Value )



end

5. اکنون کد زیر را در داخل تابع بالا  و قبل از عبارت end قرار دهید. 

if Value > 5
  disp('The input value is greater than 5!');
end

این کد یک مقایسه ی ساده را انجام می دهد. در صورتی که آرگومان ورودی(Value) بزرگتر از 5 باشد، این تابع یک پیام را نشان می دهد. در غیر این صورت، تابع پیامی را نشان نمی دهد. 

بنابراین کدهای ما به صورت زیر در خواهند آمد(دقت کنید که کامنت ها حذف شده اند):

function [  ] = SimpleIf( Value )

if Value > 5
  disp('The input value is greater than 5!');
end

end

6. بر روی Save کلیک کنید.

با انجام این کار، کادر محاوره ای Save As ظاهر می شود تا یک مکان را برای ذخیره انتخاب کنید. (به عکس 10.2 توجه کنید). 

آموزش نرم افزار متلب

 7.نام آن را SimpleIf قرار دهید و  بر روی Save کلیک کنید. 

با انجام این کار، تابع ما ذخیره می شود.

8. در خط فرمان، عبارت (SimpleIf(6 را تایپ کنید و کلید Enter را فشار دهید. خروجی زیر نمایش داده خواهد شد:

9. عبارت (SimpleIf(4 را در خط فرمان تایپ کنید و کلید Enter را فشار دهید. 

خواهید دید که تابع مورد نظر هیچ خروجی را نمایش نمی دهد. (همان طور که از آن انتظار می رفت).

 

 

 

 

ایجاد یک گزینه ی جایگزین برای دستور شرطی

اکثر تصمیم هایی که مردم می گیرند، دو حالته است. بعنوان مثال،اگر امروز آفتابی باشد،شما به ساحل می روید و در غیر این صورت در خانه می مانید. متلب هم ساختاری مشابه دارد. درواقع متلب بر اساس یک شرط، از بین دو گزینه، یکی را انتخاب می کند. قسمت دوم دستور، با استفاده از عبارت else از قسمت اول جدا می شود. بنابراین می توان گفت که با بررسی شرط، متلب کار اول را انجام می دهد و در غیر این صورت(else) کار دوم را انجام می دهد.  بخش های پیش رو به شما نشان می دهند که دستور else چگونه کار می کند. فرض بر این داریم که شما مثال SimpleIf را که در قسمت بالای این مطلب بیان شده است، انجام داده اید. 

1. در حالی که در پنجره ی Editor قرار دارید و فایل SimpleIf.m انتخاب شده است، بر روی جهت مثلثی شکل که در زیر دکمه ی Save قرار دارد کلیک کنید و از لیست ظاهر شده، گزینه ی Save As را انتخاب کنید. خواهید دید که یک کادر محاوره ای باز می شود و شما می توانید محل ذخیره را مشخص کنید( به عکس 10.2 رجوع کنید).

2. در کادر محاوره ای باز شده، در فیلد File Name عبارت IfElse.m را تایپ کنید و بر روی دکمه ی Save کلیک کنید. 

خواهید دید که متلب با استفاده از یک نام جدید، این مثال را ذخیره می کند. 

3. در داخل کدها، نام تابع را از SimpleIf به IfElse تغییر دهید.

4. کد زیر را پس از تابع ()disp در داخل کدها قرار دهید:

اکنون در صورتی که شرط اول برقرار نباشد دستورات بعد از else اجرا می شود. در صورتی که Value بزرگتر از 5 باشد، شما یک پیام را مشاهده می کنید و در غیر این صورت شما یک پیام دیگر را مشاهده خواهید کرد. 

5. بر روی دکمه ی Save کلیک کنید. 

خواهید دید که فایل تابع ما در هارد ذخیره می شود. 

6. اکنون در خط فرمان عبارت (IfElse(6 را تایپ کنید و کلید Enter را فشار دهید. 

خروجی زیر به شما نمایش داده خواهد شد:

7. عبارت (IfElse(4 را تایپ کنید و کلید Enter را فشار دهید. 

خروجی زیر به شما نمایش داده خواهد شد:

در مثال بالا، شما مشاهده کردید که می توان براساس مقدار ورودی، خروجی های متفاوتی را دریافت کرد. 


ایجاد چند شرط دیگر در تابع بالا

اکثر تصمیم گیری ها در زندگی، نیازمند بیش از 2 حالت هستند. بعنوان مثال فرض کنید که به رستوران رفته اید و با منوی این رستوران مواجه شده اید، و باید از بین تمامی غذاها، یکی را انتخاب کنید. برنامه های کامپیوتری نیز همین گونه هستند. و این امکان وجود دارد که کاربر بخواهد از بین چندین گزینه، یکی را انتخاب کند. 

در گام های زیر، روشی را به شما نشان می دهیم تا بتوانید از بین چند گزینه یکی را انتخاب کنید. برای انجام گام های زیر، فرض بر این است که شما مثال IfElse را در بخش قبلی انجام داده اید. 

1. در پنجره ی Editor، در حالی که فایل IfElse.m انتخاب شده است، بر روی جهت مثلثی شکل که در زیر دکمه ی Save قرار دارد کلیک کنید و از لیست ظاهر شده Save As را انتخب کنید. خواهید دید که کادر محاوره ای Select File ظاهر می شود تا شما یک فایل را برای ذخیره کردن انتخاب نمایید( به عکس 10.2 مراجعه کنید).

2. حالا در فیلد File Name، عبارت IfElseIf.m را تایپ کنید و بر روی دکمه ی Save کلیک کنید. 

خواهید دید که متلب مثال مورد نظر را با یک نام جدید ذخیره می کند. 

3.اکنون در درون کدها، نام تابع را از IfElse به IfElseIf تغییر دهید.

4. اکنون کد زیر را بعد از تابع ()disp در داخل کدها قرار دهید:

همان طور که مشاهده می کنید، اکنون کدهای ما شامل چند بخش مجزا است و ورودی های بزرگتر از 5 و برابر با 5 و کوچکتر از 5 را مورد بررسی قرار می دهد.

5. سومین تابع ()disp که در کدها قرار گرفته است را طوری تغییر دهید تا به صورت زیر باشد:

6. بر روی دکمه ی Save کلیک کنید. 

خواهید دید که فایل تابع در هارد ذخیره می شود.

7. عبارت (IfElseIf(6 را در خط فرمان تایپ کنید و سپس کلید Enter را فشار دهید. 

خواهید دید که خروجی زیر نمایش داده می شود:

8. عبارت (IfElseIf(5 را در خط فرمان تایپ کنید و سپس کلید Enter را فشار دهید.

خروجی زیر نمایش داده می شود:

9. عبارت (IfElseIf(4 را در خط فرمان تایپ کنید و کلید Enter را فشار دهید.

خروجی زیر نمایش می یابد: