الجمل الشرطية والحلقات التكرارية
الجملة الشرطية if :
تستخدم للاختيار بين أمرين حسب شرط محدد
الصيغة العامة :
if <condition>
<program1>
else
<program2>
end
في حالة تحقق الشرط condition يتم تنفيذ الكود في program1 وإذا لم يتحقق الشرط يتم تنفيذ الكود في program2
مثال:
>> if n < 0
disp('n is negative')
else
disp('n is positive')
end
n is positive
>> n
n =
71
>>
يمكن أن تأخذ جملة if شكلا أكثر تداخلا باستعمال أكثر من مستوي لـ elseif
if expression1
statements1
elseif expression2
statements2
else
statements3
end
أو يمكن استعمال جملة switch التي لها نفس العمل
جملة switch
الصيغة العامة:
switch switch_expr
case case_expr
statement,...,statement
case {case_expr1,case_expr2,case_expr3,...}
statement,...,statement
...
otherwise
statement,...,statement
end
حيث:
switch_expr هو المتغير (أو التعبير) الذي سيتم اختبار قيمته.
case_expr أحد القيم التي يمكن أن يأخذها المتغير
يمكن أن تتضمن الحالة الواحدة أكثر من قيمة، وإذا كانت القيمة للـ switch_expr غير مدرجة في اي حالة ينتقل التنفيذ للقسم otherwise
الحلقات التكرارية:
عندما نرغب في تكرار أمر معين (أو أكثر) عدة مرات، فإن أفضل طريقة لعمل ذلك هو بوضع هذا الأمر داخل حلقة تكرارية.
في MatLab يوجد نوعين فقط من الحلقات التكرارية :
حلقة for
وتستخدم عندما يكون المطلوب هو التكرار لعدد محدد من المرات.
الصيغة العامة
for variable = expression
statement
...
statement
end
مثال: حلقة بسيطة سوف تتكرر 4 مرات
>> for j=1:4
j
end
j =
1
j =
2
j =
3
j =
4
>>
حلقة while
حيث يكون التكرار هنا مرتبط بتحقق شرط ما، فإذا لم يعد الشرط محقق تنتهي الحلقة
الصيغة العامة:
while expression
statements
end
مثال: هذا البرنامج يوجد أول عدد صحيح مضروبه n! مكون من 100 خانة عشرية
>> n = 1;
while prod(1:n) < 1e100
n = n + 1;
end
>> n
n =
70
ملاحظة:
لغة MatLab هي لغة مفسرة Interpreted أي أن كل أمر يتم ترجمته للحاسوب قبل تنفيذه مباشرة، لذا فإن استعمال الحلقات التكرارية سوف يجعل البرنامج أكثر بطأ، ويفضل استعمال الاوامر والدوال الجاهزة لـ MatLab كلما أمكن ذلك.
break :
يستخدم هذا الأمر لإيقاف تنفيذ حلقة تكرارية وإعادة التحكم للبرنامج أو للحلقة الخارجية عند وجود حلقات متداخلة.
continue:
يقوم هذا الأمر بوقف التكرار الحالي للحلقة iteration ويبدأ في التكرار التالي له.
وهذا فيديو تطبيق بسيط لتوضيح الفكره