دوبخشی یا نیوتن؟ کدام روش ریشه‌یابی را انتخاب کنیم

ریشه‌یابی تحلیل عددی

برای حل معادلهٔ f(x)=0f(x)=0 وقتی فرمول بسته وجود ندارد، دو روش بسیار رایج داریم: دوبخشی و نیوتن-رافسون. هر دو را روی یک مثال استاندارد امتحان می‌کنیم:

f(x)=x3+4x2−10,ریشه در [1,2]f(x)=x^3+4x^2-10,\qquad \text{ریشه در } [1,2]

دوبخشی؛ کند اما مطمئن. اگر f(a)f(a) و f(b)f(b) علامت مخالف داشته باشند، ریشه‌ای در بازه هست. هر گام بازه را نصف می‌کند، پس خطا بعد از nn گام از مرتبهٔ b−a2n\dfrac{b-a}{2^n} است. برای رسیدن به دقت 10−610^{-6} روی این مثال حدود ۲۰ گام لازم است و جواب ۱٫۳۶۵۲۳۰ می‌شود. بزرگ‌ترین مزیت: تا وقتی شرط علامت برقرار باشد، همیشه همگرا می‌شود.

نیوتن؛ سریع اما حساس. از حدس اولیه p0=1.5p_0=1.5 شروع می‌کنیم و هر بار مماس را تا محور xx پایین می‌آوریم:

pn+1=pn−f(pn)f′(pn)p_{n+1}=p_n-\frac{f(p_n)}{f'(p_n)}

در این مثال تقریب‌ها به‌ترتیب ۱٫۳۷۳۳۳۳، ۱٫۳۶۵۲۶۲، ۱٫۳۶۵۲۳۰۰۱۳ هستند؛ یعنی فقط ۴ گام تا ۸ رقم درست. دلیل: همگرایی مرتبه دوم است و تعداد ارقام درست تقریباً در هر گام دو برابر می‌شود.

کِی کدام؟


• اگر بازه‌ای با تغییر علامت دارید و تضمین می‌خواهید: دوبخشی.
• اگر حدس اولیهٔ خوب و مشتق ساده دارید و سرعت مهم است: نیوتن.
• اگر f′(pn)f'(p_n) نزدیک صفر شود، نیوتن می‌تواند به جای دور بیفتد یا واگرا شود؛ ترکیب دو روش (چند گام دوبخشی و بعد نیوتن) راه حل رایج است.

در MathTech هر دو روش را می‌توانید با تابع خودتان اجرا کنید و مماس‌های نیوتن را روی نمودار گام‌به‌گام ببینید.