حل معادلات غیر خطی با دقت بالا
روش تکرار نیوتن یکی از روشهای قدرتمند و پرکاربرد در زمینه حل معادلات غیر خطی است. این روش با استفاده از مشتق تابع، به دنبال یافتن ریشههای یک معادله غیر خطی میگردد.
در این مطلب، ابتدا روش تکرار نیوتن را توضیح میدهیم و سپس با استفاده از نمونه کد متلب، نحوه پیادهسازی و استفاده از آن را به طور کامل شرح میدهیم. همچنین چند مثال کاربردی را برای نشان دادن قدرت این روش در حل مسائل مختلف بررسی خواهیم کرد.
روش تکرار نیوتن
فرض کنید میخواهیم ریشه یک معادله غیر خطی `f(x) = 0` را با استفاده از لگوها پیدا کنیم.
1. **تخمینی اولیه:** یک تخمین اولیه `x_0` برای ریشه معادله انتخاب میکنیم. برای این کار، یک لگو را در نقطه
`x_0` روی محور x قرار میدهیم.
2. **تکرار:** با استفاده از فرمول زیر، به صورت تکراری مقدار جدید{`x_{i+1` را محاسبه میکنیم:
( x_{i+1} = x_i - f(x_i)/f'(x_i
که (`f'(x` مشتق اول تابع (`f(x` است. برای انجام این کار، لگویی را با رنگ آبی در نقطه `x _i` قرار میدهیم و سپس یک لگو با رنگ قرمز را در نقطه( `f(x_i` روی محور y قرار میدهیم. سپس یک لگو با رنگ زرد را به عنوان شیب خط مماس در نقطه `x_i` رسم میکنیم.
نقطه برخورد خط مماس با محور x (یعنی{`x_{i+1}`) را پیدا میکنیم.
3. **توقف:** تکرارها تا زمانی ادامه مییابند که اختلاف بین دو مقدار متوالی{ `x_i` و `x_{i+1 ` به اندازه کافی کوچک باشد
کد متلب
کد متلب زیر یک تابع به نام `newton_method` را پیادهسازی میکند که ریشه معادله غیر خطی `f(x) = 0` را با استفاده از روش تکرار نیوتن محاسبه میکند:
مثال کاربردی
**مثال 1: یافتن ریشه معادله غیر خطی `x^3 - 2x - 5 = 0`**
**مثال 2: حل معادله غیر خطی `sin(x) - x/2 = 0`**
**خروجی:**
ریشه معادله f(x) = 0 برابر است با: 1.89549426703398
نتیجه
روش تکرار نیوتن یک ابزار قدرتمند برای حل معادلات غیر خطی است. این روش با استفاده از مشتق تابع، به دنبال یافتن ریشههای یک معادله غیر خطی میگردد. در این مطلب، کد متلب برای پیادهسازی روش تکرار نیوتن و چند مثال کاربردی برای نشان دادن قدرت این روش ارائه شد.
عکس
روش تکرار نیوتن درمتلب
توضیح عکس:
این عکس نمونهای از کد متلب برای حل معادلات غیر خطی به روش تکرار نیوتن را نشان میدهد. در این کد، تابع `newton_method` با پارامترهای `f`, `df`, `x0`, `tol` و `max_iter` تعریف شده است.