دستور سوییچ در متلب
دستور سوییچ شرطی است که یک مجموعه با چندین انتخاب را اجرا می کند. هر انتخاب به وسیله یک دستور 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 );
هنگامی که فایل را اجرا می کنید ،این را نمایش می دهد:
نویسنده: مهندس عربعامری


