گام هشتم: تصمیم گیری در متلب
ساخت ساختار تصمیم گیری به یک برنامه نویس خاص نیاز دارد که یک یا چند شرط را توسط برنامه ارزیابی کند،همراه با یک عبارت یا اگر شرایط تعیین شده درست بود عبارت اجرا می شود و به صورت اختیاری ،اگر عبارات تعیین شده نادرست بودند دستورات دیگر اجرا می شوند..
در زیر شکل رایج ساختار یک نوع تصمیم گیری است که در بیشتر زبان های برنامه نویسی موجود می باشد :
matlab در زیر انواع عبارات تصمیم گیری را فراهم کرده است.برای بررسی جزئیات آن ها بر روی لینک های زیر کلیک کنید :
توصیف | بیانیه |
if … end statement شامل یک عبارت بولی به دنبال 1 یا شرح بیشتری است. | if … end statement |
if statement می تواند به دنبال گزینه های else statement بیاید، که زمانی اجرا می شود که عبارت بولی نادرست است. | if… else…end statement |
if statement می تواند به دنباله یک (یا بیشتر) گزینه elseif…وstatement else بیاید، که برای تست شرط های گوناگون بسیار سودمند است. | if … elseif…elseif…else…end statement |
شما می توانید از یک if یا elseif statement درون if یا else statement دیگری استفاده شود. | nested if statements |
switch statement به متغیر اجازه تست شدن برای تساوی برخلاف یک لیست از مقادیر را می دهد. | switch statement |
شما می توانید از یک switch statement درون switch statement های دیگر استفاده کنید. | nested switch statements |
if … end statement
if … end statement شامل دستور if و یک عبارت boolean و به دنبال یک یا چند عبارت است.محدوده آن به وسیله عبارت end مشخص شده است .
نحوه اجرا در متلب
یک syntax از دستور if در matlab این است :
اگر ارزیابی عبارت درست بود ،سپس بلوک کد درون عیارت if اجرا خواهد شد . اگر عبارت ارزیابی نادرست بود ،در آن صورت اولین مجموعه کد پس از عبارت end اجرا خواهد شد.
فلوچارت
مثال
فایل اسکریپت زیر را ایجاد نمایید و کد زیر را تایپ نمایید:
a=10;
% check the condition using if statement
if a < 20
% if condition is true then print the following
fprintf (‘ a is less than 20 \ n ‘);
end
fprintf (‘value of a is : % d \n ‘ , a);
هنگامی که شما فایل را ایجاد می کنید ،نتایج زیر را ارائه می دهد :
if … else … end statement
عبارت if می تواند به وسیله گزینه else statement ادامه یابد ،که هنگامی که عبارت نادرست است اجرا می شود .
نحوه اجرا در متلب
نحوه اجرا در متلبی از if … else statement در مطلب است :
اگر عبارت ارزیابی درست بود ، در آن صورت بلاک کد if اجرا خواهد شد ،در غیر اینصورت کد بلاک else اجرا خواهد شد.
فلوچارت
مثال
یک فایل اسکریپت ایجاد نمایید و کد زیر را وارد کنید :
a=10;
% check the condition using if statement
if a < 20
% if condition is true then print the following
fprintf (‘ a is less than 20 \ n ‘);
else
% if condition is false then print the following
fprintf (‘ a is not less than 20 \ n ‘);
end
fprintf (‘value of a is : % d \n ‘ , a);
زمانی که کد بالا را کامپایل و اجرا می کنید ،نتیجه زیر تولید می شود :
عبارت if … elseif…elseif…else…end
عبارت if می تواند به وسیله یک یا چند else if … و یک else ادامه یابد،که برای آزمایش شرط های مختلف سودمند است .
زمان استفاده از عبارت if … elseif… else، چند نکته را در نظر داشته باشیم :
- اگر می توان صفر یا یک else داشت، آن باید پس از elseif بیاید .
- اگر می توان صفر یا یک elseif داشت، آن باید قبل از هر else بیاید .
- در یک else موفق ،هیچ یک از else و elseif های باقیمانده اجرا نخواهد شد.
نحوه اجرا در متلب
یک فایل اسکریپت ایجاد کنید و کد زیر را در آن وارد نمایید:
a=100;
% check the boolaen condition
if a ==10
% if condition is true then print the following
fprintf(‘ value of a is 10’);
elseif( a == 20 )
%if else if condition is true
fprintf(‘value of a is 20\n’);
elseif (a == 30)
%if else if condition is true
fprintf(‘value of is a 30\n);
else
%if none of the conditions is true
fprintf(‘none of the values are matching \n’);
fprintf(exact value of a is : %d\n’ , a);
end
زمانی که کد بالا را کامپایل و اجرا می کنید ،نتیجه زیر تولید می گردد:
یک قانون در نرم اقزار matlab عبارت لانه if- else است ،به این معنی که شما می توانید از یک عبارت if یا elseif درون عبارت if یا elseif دیگری استفاده نمایید.
نحوه اجرا در متلب
دستور if تو در تو در زیر آمده است :
شما می توانید مشابه if تو در تو elseif … else تو در تو نیز داشته باشید.
مثال:
یک فایل اسکریپت ایجاد کنید و کد زیر را در آن وارد نمایید:
a = 100;
b = 200:
% check the boolean condition
if( a == 100 )
% if condition is tfue then check the following
if ( b == 200 )
% if condition is true then pfint the following
fpfintf(‘value of a is 100 and b is 200\n‘ );
end
end
fpfintf(‘exact value of a is : %d\n‘, a )
fpfintf(‘exact value of b is : %d\n‘, b );
زمانیکه فایل را اجرا می کنید،این نمایش داده می شود:
دستور سوییچ در متلب
دستور سوییچ شرطی است که یک مجموعه با چندین انتخاب را اجرا می کند. هر انتخاب به وسیله یک دستور case پوشش داده می شود .دستور سوییچ رشته یا عدد را ارزیابی می کند.عبارت case رشته ، عدد و یا خانه های آرایه ای از رشته یا اعداد را ارزیابی می کند.بلوک سوییچ case ها را تا زمانی که یکی از آن ها درست باشد آزمایش می کند .case زمانی درست است که :
- برای اعداد،تساوی(عبارت case وعبارت سوییچ)
- برای رشته مقایسه(عبارت case وعبارت سوییچ)
- برای اشیایی که از تابع تساوی پشتیبانی می کنند (عبارت case وعبارت سوییچ)
- برای یک خانه آرایه عبارت case ،حداقل یکی از عناصر از خانه آرا یه با عبارت سوییچ تطبیق داده می شود،همانطور که در بالا برای ارقام ،اشیا و رشته تعریف شد.
هنگامی که case درست است ،matlab عبارت مربوط به آن را اجرا می کند و از بلوک سوییچ خارج می شود.در غیراینصورت اگر case درست نباشد ، بلوک دیگری به صورت اختیاری اجرا می شود.
نحوه اجرا در متلب
نحوه اجرا در متلبعبارت سوییچ در matlab اینگونه است:
مثال
یک فایل اسکریپت ایجاد نمایید و کد زیر را در آن تایپ کنید:
grade = ‘b’;
switch(grade)
case ‘a‘
fprintf(‘excellent!\n‘ );
case ‘b‘
fprintf(‘well done\n‘ );
case ‘c‘
fprintf(‘well done\n‘ );
case ‘d‘
fprintf(‘you passed\n‘ );
case ‘f‘
fprintf(‘better try again\n‘ );
otherwise
fprintf(‘invalid grade\n‘ );
end
هنگامی که فایل را اجرا میکنید ،نتیجه زیرنمایش داده می شود :
عبارت های switch تو در تو
ممکن است یک سوییچ را به عنوان بخشی از یک عبارت متوالی سوییچ بیرونی داشته باشید .حتی اگر ثابت های case سوییچ داخلی و بیرونی ارش های مشترک داشته باشند،هیچ مشکلی بوجود نمی آید.
نحوه اجرا در متلب
روشی برای عبارت سوییچ تو در تو در زیر آمده است :
مثال
یک فایل اسکریپت ایجاد کنید و کد زیر را در آن وارد نمایید:
a = 100;
b= 200;
switch(a)
case 100
fprintf(‘this is part of outer switch %d\n‘, a );
switch(b)
case 200
fprintf(‘this is part of inner switch %d\n‘, a );
end
end
fprintf(‘exact value of a is : %d\n‘, a );
fprintf(‘exact value of b is : %d\n‘, b );
هنگامی که فایل را اجرا می کنید ،این را نمایش می دهد:
خرید کتاب 28 گام موثر در فتح متلب
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,