یافتن ریشه معادله – به زبان ساده

۴۹۲ بازدید
آخرین به‌روزرسانی: ۱۳ اردیبهشت ۱۴۰۲
زمان مطالعه: ۷ دقیقه
دانلود PDF مقاله
یافتن ریشه معادله – به زبان سادهیافتن ریشه معادله – به زبان ساده

در این آموزش، با روش عددی یافتن ریشه معادله آشنا می‌شویم. می‌خواهیم معادله‌ای به فرم f(x)=0f ( x ) = 0 را حل کنیم. بدین منظور از روش سکانت یا وتری (Secant Method) استفاده می‌کنیم. در ادامه، روش سکانت به طور خلاصه توضیح داده شده است.

997696

یافتن ریشه معادله

همان‌طور که گفتیم، از روش سکانت یا وتری استفاده می‌کنیم. با داشتن مقادیر اولیه x0x _ 0 و x1x _ 1، معادله خط گذرنده از نقاط (x1,f(x1))( x _ 1 , f ( x _ 1 )) و (x2,f(x2))( x _ 2 , f ( x _ 2 )) را به صورت زیر می‌نویسیم:

y=f(x2)f(x1)x2x1(xx2)+f(x2).\large y = \frac { f ( x _ 2 ) - f ( x _ 1 ) } { x _ 2 - x _ 1 } ( x - x _ 2 ) + f ( x _ 2 ) .

ریشه این تابع خطی، مقداری از xx است که به ازای آن، y=0y = 0 است:

x=x2f(x2)x2x1f(x2)f(x1).\large x = x _ 2 - f ( x _ 2 ) \frac { x _ 2 - x _ 1 } { f ( x _ 2 ) - f ( x _ 1 ) } .

در ادامه، از مقدار جدید xx به عنوان x3x _ 3 استفاده کرده و روال را به جای x1x _ 1 و x2x _2، با x2x _ 2 و x3x _ 3 تکرار می‌کنیم. این کار را تا جایی ادامه می‌دهیم که به دقت مناسبی برسیم و اختلاف بین xn1x _{n-1} و xnx _ n به مقدار بسیار کوچکی میل کند:

x3=x2f(x2)x2x1f(x2)f(x1),x4=x3f(x3)x3x2f(x3)f(x2),xn=xn1f(xn1)xn1xn2f(xn1)f(xn2).\large \begin {align} x _ 3 & = x _ 2 - f ( x _ 2 ) \frac { x _ 2 - x _ 1 } { f ( x _ 2 ) - f ( x _ 1 ) } , \\[6pt] x _ 4 & = x _ 3 - f ( x _ 3 ) \frac { x _ 3 - x _ 2 } { f ( x _ 3 ) - f ( x _ 2 ) } , \\[6pt] & \, \, \, \vdots \\[6pt] x _ n & = x _ { n - 1 } - f ( x _ { n - 1 } ) \frac { x _ { n - 1 } - x _ { n - 2 } } { f ( x _ { n - 1 } ) - f ( x _ { n - 2 } ) } . \end {align}

به طور خلاصه می‌توان گفت که روش سکانت با رابطه بازگشتی زیر تعریف می‌شود:

xn=xn1f(xn1)xn1xn2f(xn1)f(xn2)=xn2f(xn1)xn1f(xn2)f(xn1)f(xn2).\large \begin {align*} x _ n & = x _ { n - 1 } - f ( x _ { n - 1 } ) \frac { x _ { n - 1 } - x _ { n - 2 } } { f ( x _ { n - 1 } ) - f ( x _ { n - 2 } ) } \\ & = \frac { x _ { n - 2 } f ( x _ { n - 1 } ) - x _ { n - 1 } f ( x _ { n - 2 } ) } { f ( x _ { n - 1 } ) - f ( x _ { n - 2 } ) } . \end {align*}

همان‌طور که از این رابطه بازگشتی می‌بینیم، روش سکانت به دو مقدار اولیه x1x _ 1 و x2x _ 2 نیاز دارد و این مقادیر باید به گونه‌ای انتخاب شوند که نزدیک ریشه باشند.

پیاده‌سازی یافتن ریشه معادله در زبان‌های برنامه‌نویسی مختلف

در ادامه،‌ برنامه یافتن ریشه معادله در زبان‌های برنامه‌نویسی مختلف ارائه شده است.

مثالی از ورودی و خروجی برنامه‌های زیر به این صورت است:
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

اگر این مطلب برایتان مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۲ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
GeeksforGeeksWikipedia
دانلود PDF مقاله
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *