Метод на Нютон

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Методът на Нютон (или метод на Нютон-Рафсън) е алгоритъм, използван за намиране на приблизителни стойности на корените на реални функции. Той използва поредица от последователни все по-точни приближения, до достигане на търсената точност на решението. Започва се със стойност, относително близка до истинското решение. Функцията се замества с нейната тангента в тази точка и се изчислява стойността на аргумента, при която тангентата пресича нулевата линия. Тази точка се приема за нова изходна стойност и методът се повтаря итеративно.

Примери[редактиране | edit source]

Квадратен корен от число[редактиране | edit source]

Да разгледаме задачата за намиране на квадратен корен от число. Има много начини за изчисляването на корени и Нютоновият метод е един от тях.

Например, ако трябва да се намери квадратен корен от 612, това е еквиваленстно на намирането на решенията на

\,x^2 = 612

Тогава функцията, която ще използваме за метода на Нютон е

\,f(x) = x^2 - 612

с производна,

 f'(x) = 2x. \,

С начална стойност 10, редицата получена по метода на Нютон е

\begin{matrix}
  x_1 & = & x_0 - \dfrac{f(x_0)}{f'(x_0)} & = & 10 - \dfrac{10^2 - 612}{2 \cdot 10} & = & 35.6 \quad\quad\quad{} \\
  x_2 & = & x_1 - \dfrac{f(x_1)}{f'(x_1)} & = & 35.6 - \dfrac{35.6^2 - 612}{2 \cdot 35.6} & = & \underline{2}6.3955056 \\
  x_3 & = & \vdots & = & \vdots & = & \underline{24.7}906355 \\
  x_4 & = & \vdots & = & \vdots & = & \underline{24.7386}883 \\
  x_5 & = & \vdots & = & \vdots & = & \underline{24.7386338} 
\end{matrix}

Подчертаните цифри са коректни числа. Само с няколко итераци може да се намери решение, с точност много цифри след запетаята.

Решение на неполиномни уравнения[редактиране | edit source]

Да разгледаме задачата за намиране на положителното число x, удовлетворяващо уравнението cos(x) = x3. Можем да запишем израза така, когато търсим корените му: f(x) = cos(x) − x3. Имаме f'(x) = −sin(x) − 3x2. Тъй като cos(x) ≤ 1 за всяко x и x3 > 1 за x > 1. Знаем, че нашият корен се намира между 0 и 1. Ще опитаме със начална стойност x0 = 0.5. (Забележете, че при начална стойност 0 ще се получи неопределен резултат, което показва важността от използването на начална точка, която е близо до нулата.)

\begin{matrix}
  x_1 & = & x_0 - \dfrac{f(x_0)}{f'(x_0)} & = & 0.5 - \dfrac{\cos(0.5) - (0.5)^3}{-\sin(0.5) - 3(0.5)^2} & = & 1.112141637097 \\
  x_2 & = & x_1 - \dfrac{f(x_1)}{f'(x_1)} & = & \vdots & = & \underline{0.}909672693736 \\
  x_3 & = & \vdots & = & \vdots & = & \underline{0.86}7263818209 \\
  x_4 & = & \vdots & = & \vdots & = & \underline{0.86547}7135298 \\
  x_5 & = & \vdots & = & \vdots & = & \underline{0.8654740331}11 \\
  x_6 & = & \vdots &= & \vdots & = & \underline{0.865474033102}
\end{matrix}

Верните числа са подчертани в примера по-горе. В частност x6 е с точност до всички показани позиции след запетаята. Виждаме, че броя на правилните числа след десетичната точка нарастват от 2 (за x3) до 5 и 10, показвайки квадратната сходимост.

Вижте още[редактиране | edit source]