در این آموزش، با روش عددی یافتن ریشه معادله آشنا میشویم. میخواهیم معادلهای به فرم f(x)=0 را حل کنیم. بدین منظور از روش سکانت یا وتری (Secant Method) استفاده میکنیم. در ادامه، روش سکانت به طور خلاصه توضیح داده شده است.
یافتن ریشه معادله
همانطور که گفتیم، از روش سکانت یا وتری استفاده میکنیم. با داشتن مقادیر اولیه x0 و x1، معادله خط گذرنده از نقاط (x1,f(x1)) و (x2,f(x2)) را به صورت زیر مینویسیم:
y=x2−x1f(x2)−f(x1)(x−x2)+f(x2).
ریشه این تابع خطی، مقداری از x است که به ازای آن، y=0 است:
x=x2−f(x2)f(x2)−f(x1)x2−x1.
در ادامه، از مقدار جدید x به عنوان x3 استفاده کرده و روال را به جای x1 و x2، با x2 و x3 تکرار میکنیم. این کار را تا جایی ادامه میدهیم که به دقت مناسبی برسیم و اختلاف بین xn−1 و xn به مقدار بسیار کوچکی میل کند:
x3x4xn=x2−f(x2)f(x2)−f(x1)x2−x1,=x3−f(x3)f(x3)−f(x2)x3−x2,⋮=xn−1−f(xn−1)f(xn−1)−f(xn−2)xn−1−xn−2.
به طور خلاصه میتوان گفت که روش سکانت با رابطه بازگشتی زیر تعریف میشود:
xn=xn−1−f(xn−1)f(xn−1)−f(xn−2)xn−1−xn−2=f(xn−1)−f(xn−2)xn−2f(xn−1)−xn−1f(xn−2).
همانطور که از این رابطه بازگشتی میبینیم، روش سکانت به دو مقدار اولیه x1 و x2 نیاز دارد و این مقادیر باید به گونهای انتخاب شوند که نزدیک ریشه باشند.
پیادهسازی یافتن ریشه معادله در زبانهای برنامهنویسی مختلف
در ادامه، برنامه یافتن ریشه معادله در زبانهای برنامهنویسی مختلف ارائه شده است.
مثالی از ورودی و خروجی برنامههای زیر به این صورت است:
Input : equation = x3 + x - 1
x1 = 0, x2 = 1, E = 0.0001
Output : Root of the given equation = 0.682326
No. of iteration=5
برنامه یافتن ریشه معادله در ++C
برنامه یافتن ریشه معادله در Java
برنامه یافتن ریشه معادله در Python
برنامه یافتن ریشه معادله در #C
برنامه یافتن ریشه معادله در PHP
اگر این مطلب برایتان مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
^^
سید سراج حمیدی دانشآموخته مهندسی برق است و به ریاضیات و زبان و ادبیات فارسی علاقه دارد. او آموزشهای مهندسی برق، ریاضیات و ادبیات مجله فرادرس را مینویسد.