طريقة التنصيف

في الرياضيات، طريقة التنصيف هي إحدى خوارزمية ايجاد الجذر والتي بها يتم تنصيف فترة ما بصورة تكرارية واختيار فترة فرعية يقع عليها الجذر من أجل تحسين المعالجة. مع أنها بسيطة جدا ومرنة إلا أن طريقة التنصيف بطيئة نسبيا.

الطريقة 

إذا كانت الدالة f(x)= 0 مستمرة ومعرفة في الفترة [a,b] حيث f(a)* f(b) <0 أي أنهما مختلفتان في الإشارة فإن معني ذلك ان أحد جذور الدالة f(x) علي الأقل يقع في نطاق الفترة [a,b] (انظر الشكل 1-1). في هذه الحالة نتبع الخوارزمية التالية للوصول إلي حل هذه الدالة:

نوجد متوسط القيمتان a,b المعرف عندهما الدالة وليكن x1 حيث أن x1=(a+b)/2.
	
إذا كانت قيمة f(x1)= 0 فإن x1 جذر للدالة f(x) وحلا لها. إذا لم يتحقق الشرط السابق نقوم باتباع التالي:
	
إذا كانت f(x1) * f(b)<0 فإننا نضع a = x1 لنقترب من الحل.
	
إذا كانت f(x1) * f(a)<0 فإننا نضع b = x1 لنقترب من الحل.

نقوم بتكرار الخطوتين 1 و 2 حتي نصل لقيمة تكون فيها f(xi)= 0 أو تكون فيها f(xi)=> P حيث أن P تمثل درجة الدقة المطلوبة في الحل.

كود برمجي 

فيما يلي كود بلغة فجول بيسك يوضح طريقة التنصيف. المتغيرات left وright تقابل a and b أعلاه. القيم الأولية left وright ينبغي اختيارها بالشكل الصحيح بحيث f(left) وf(right) بحيث تكون ذات إشارات مخالفة (لحصر الجذر). المتغير epsilon يبين مدى الدقة المطلوبة.

 'Bisection Method

 'Start loop
 Do While (abs(right - left)> 2*epsilon)
   
   'Calculate midpoint of domain
   midpoint = (right + left) / 2
   
   'Find f(midpoint)
   If ((f(left) * f(midpoint))> 0) Then
     'Throw away left half
     left = midpoint
   Else
     'Throw away right half
     right = midpoint
   End If
 Loop
 Return (right + left) / 2

إنظر أيضا 

 خوارزمية البحث الثنائي

المصادر 

 .
 .
 . http://numericalmethods.eng.usf.edu/topics/textbook_index.html

خوارزميات إيجاد الجذور