Loading [MathJax]/jax/output/HTML-CSS/jax.js
Skip to main content
LibreTexts - Ukrayinska

4.9: Метод Ньютона

  • Edwin “Jed” Herman & Gilbert Strang
  • OpenStax

Цілі навчання
  • Опишіть кроки методу Ньютона.
  • Поясніть, що означає ітераційний процес.
  • Розпізнайте, коли метод Ньютона не працює.
  • Застосовуйте ітераційні процеси до різних ситуацій.

У багатьох областях чистої та прикладної математики ми зацікавлені в пошуку розв'язків рівняння видуf(x)=0. Для більшості функцій, однак, важко - якщо не неможливо - обчислити їх нулі явно. У цьому розділі ми розглянемо техніку, яка забезпечує дуже ефективний спосіб наближення нулів функцій. Ця методика використовує наближення дотичних ліній і стоїть за методом, який часто використовується калькуляторами та комп'ютерами для пошуку нулів.

Опис методу Ньютона

Розглянемо завдання знаходження розв'язківf(x)=0. Якщоf поліном першого ступеняf(x)=ax+b, то рішенняf(x)=0 задається за формулоюx=ba. Якщоf поліном другого ступеняf(x)=ax2+bx+c, то розв'язкиf(x)=0 можна знайти за допомогою квадратичної формули. Однак для многочленів 3 ступеня і більше пошук коренівf стає більш складним. Хоча формули існують для поліномів третього та четвертого ступеня, вони досить складні. Також, якщо f - многочлен ступеня 5 і більше, відомо, що таких формул не існує. Наприклад, розглянемо функцію

f(x)=x5+8x4+4x32x7.

Не існує формули, яка дозволяє знайти розв'язкиf(x)=0. Схожі труднощі існують для неполіноміальних функцій. Для прикладу розглянемо завдання пошуку розв'язківtan(x)x=0. не існує простої формули для розв'язків цього рівняння. У таких випадках ми можемо використовувати метод Ньютона для наближення коренів.

Метод Ньютона використовує наступну ідею для наближення розв'язківf(x)=0. Шляхом ескізу графікаf, ми можемо оцінити коріньf(x)=0. Назвемо цю оцінкуx0. Потім ми проведемо дотичну лінію доf atx0. Якщоf(x0)0, ця дотична лінія перетинаєx вісь -в якійсь точці(x1,0). Тепер нехайx1 буде наступне наближення до фактичного кореня. Як правило,x1 ближче, ніжx0 до фактичного кореня. Далі проводимо дотичну лінію доf atx1. Якщоf(x1)0, ця дотична лінія також перетинаєx -вісь, виробляючи ще одне наближення,x2. Продовжуємо таким чином, виводячи список наближень:x0,x1,x2,. Зазвичай числаx0,x1,x2, швидко наближаються до фактичного кореняx, як показано на наступному малюнку.

Ця функція f (x) малюється точками (x0, f (x0)), (x1, f (x1)), і (x2, f (x2)), позначеними на функції. З (x0, f (x0)) проводиться дотична лінія, і вона вражає вісь x на x1. З (x0, f (x0)) проводиться дотична лінія, і вона вражає вісь x на x2. Якби дотична лінія була проведена з (x2, f (x2)), здається, що вона наблизилася б дуже близько до x*, який є фактичним коренем. Кожна дотична лінія, намальована в такому порядку, здається, наближається до x*.
4.9.1Малюнок: Наближення наближаються доx0,x1,x2, фактичного кореня.x Наближення виводяться шляхом погляду на дотичні лінії до графікаf.

Тепер давайте розглянемо, як обчислити наближенняx0,x1,x2,. Якщоx0 наше перше наближення, то наближенняx1 визначається шляхом(x1,0) дозволуx -перехоплення дотичної прямої доf atx0. Рівняння цієї дотичної прямої задається

y=f(x0)+f(x0)(xx0).

Томуx1 повинні задовольнити

f(x0)+f(x0)(x1x0)=0.

Вирішуючи це рівняння дляx1, зробимо висновок, що

x1=x0f(x0)f(x0).

Аналогічно точкою(x2,0) єx -перехоплення дотичної лінії доf atx1. Томуx2 задовольняє рівняння

x2=x1f(x1)f(x1).

Загалом, дляn>0,xn задовольняє

xn=xn1f(xn1)f(xn1).

Далі ми бачимо, як використовувати цю техніку для наближення кореня многочленаf(x)=x33x+1.

Приклад4.9.1: Finding a Root of a Polynomial

Використовуйте метод Ньютона, щоб наблизити коріньf(x)=x33x+1 у інтервалі[1,2]. Нехайx0=2 і знайдутьx1,x2,x3,x4, іx5.

Рішення

З малюнка ми бачимо4.9.2, щоf має один корінь над інтервалом[1,2]. Томуx0=2 здається розумним першим наближенням. Щоб знайти наступне наближення, ми використовуємо Equation\ ref {Newton}. Так якf(x)=x33x+1, похідна єf(x)=3x23. Використовуючи Equation\ ref {Newton}n=1 with (і калькулятор, який відображає10 цифри), отримаємо

x1=x0f(x0)f(x0)=2f(2)f(2)=2391.666666667.

Щоб знайти наступне наближенняx2, ми використовуємо Equation\ ref {Newton} withn=2 і значення,x1 збережене на калькуляторі. Ми знаходимо, що

x2=x1f(x1)f(x1)1.548611111.

Продовжуючи таким чином, отримуємо наступні результати:

  • x11.666666667
  • x21.548611111
  • x31.532390162
  • x41.532088989
  • x51.532088886
  • x61.532088886.

Відзначимо, що ми отримали однакове значення дляx5 іx6. Тому будь-яке подальше застосування методу Ньютона, швидше за все, дасть таке ж значення дляxn.

Викреслюється функція f (x) = x3 — 3x + 1. Вона має коріння між −2 і −1, 0 і 1, і 1 і 2.
Малюнок4.9.2: Функціяf(x)=x33x+1 має один корінь за інтервал[1,2].
Вправа4.9.1

Дозволяючиx0=0, давайте використовувати метод Ньютона, щоб наблизити коріньf(x)=x33x+1 через інтервал[0,1] шляхом обчисленняx1 іx2.

Підказка

Використовуйте рівняння\ ref {Ньютон}.

Відповідь

x10.33333333
x20.347222222

Метод Ньютона також може бути використаний для наближення квадратних коренів. Тут ми покажемо, як наблизити2. Цей метод можна модифікувати, щоб наблизити квадратний корінь будь-якого додатного числа.

Приклад4.9.2: Finding a Square Root

Використовуйте метод Ньютона для наближення2 (рис.4.9.3). Нехайf(x)=x22, нехайx0=2, і обчислитиx1,x2,x3,x4,x5. (Зауважимо, що оскількиf(x)=x22 має нуль при2, початкове значенняx0=2 є розумним вибором для наближення2).

Намальована функція y = x2 — 2. Від x0 = 2 виходить пунктирна лінія, а звідти проводиться дотична лінія. Він торкається x1 = 1,5, що знаходиться біля x* = квадратний корінь 2.
Малюнок4.9.3: Ми можемо використовувати метод Ньютона для пошуку2.

Рішення

Дляf(x)=x22,f(x)=2x. From Equation\ ref {Ньютон}, ми знаємо, що

\ [\ begin {align*} x_n&=x_ {n−1} −\ розрив {f (x_ {n−1})} {f' (x_ {n−1})}\\ [4pt]
&=x_ {n−1}} −\ frac {x^2_ {n−1} −2} {2x_ {n−1}}\ [pt]
&=\ гідророзриву {1} {2} x_ {n−1} +\ гідророзриву {1} {x_ {n−1}}\\ [4pt]
&=\ гідророзриву {1} {2}\ ліворуч (x_ {n−1} +\ frac {2} {x_ {n−1}}\ праворуч). \ end {вирівнювати*}\ nonumber\]

Тому,

x1=12(x0+2x0)=12(2+22)=1.5

x2=12(x1+2x1)=12(1.5+21.5)1.416666667.

Продовжуючи таким чином, ми виявляємо, що

x1=1.5

x21.416666667

x31.414215686

x41.414213562

x51.414213562.

Так як ми отримали однакове значення дляx4 іx5, навряд чи значенняxn зміниться при будь-якому подальшому застосуванні методу Ньютона. Ми робимо висновок, що21.414213562.

Вправа4.9.2

Використовуйте метод Ньютона для наближення3, дозволившиf(x)=x23 іx0=3. Знайтиx1 іx2.

Підказка

Дляf(x)=x23, Рівняння\ ref {Ньютон} зводиться доxn=xn12+32xn1.

Відповідь

x1=2
x2=1.75

При використанні методу Ньютона кожне наближення після початкової здогадки визначається через попереднє наближення за допомогою тієї ж формули. Зокрема, визначаючи функціюF(x)=x[f(x)f(x)], ми можемо переписати Equation\ ref {Newton} якxn=F(xn1). Цей тип процесу, де коженxn визначається зxn1 точки зору повторення однієї і тієї ж функції, є прикладом ітераційного процесу. Коротко ми розглянемо інші ітераційні процеси. Для початку розглянемо причини, за якими методом Ньютона міг не знайти корінь.

Невдачі методу Ньютона

Зазвичай метод Ньютона використовується для пошуку коренів досить швидко. Однак все може піти не так. Деякі причини, чому метод Ньютона може зазнати невдачі, включають наступне:

  1. При одному з наближеньxn похіднаf дорівнює нулю приxn, алеf(xn)0. В результаті дотична лініяf atxn не перетинається зx -віссю. Тому ми не можемо продовжувати ітераційний процес.
  2. Наближенняx0,x1,x2, можуть наближатися до іншого кореня. Якщо функціяf має більше одного кореня, можливо, наші наближення не наближаються до того, за яким ми шукаємо, а наближаються до іншого кореня (див. Рис.4.9.4). Ця подія найчастіше відбувається, коли ми не вибираємо наближення доситьx0 близько до потрібного кореня.
  3. Наближення можуть не наблизитися до кореня повністю. У4.9.3 прикладі ми наведемо приклад функції та початкову здогадку, щоx0 послідовні наближення ніколи не наближаються до кореня, оскільки послідовні наближення продовжують чергуватися назад і вперед між двома значеннями.
Функція малюється з двома коренями, позначені корінь шукали і корінь знайдені. Точка x0 вибирається таким чином, що коли береться тангенс x0, навіть якщо вона знаходиться ближче до кореня шуканого, дотична вказує на знайдений корінь.
Малюнок4.9.4: Якщо початкова здогадка занадтоx0 далеко від шуканого кореня, це може призвести до наближення, які наближаються до іншого кореня.
Приклад4.9.3: When Newton’s Method Fails

Розглянемо функціюf(x)=x32x+2. Нехайx0=0. Показати, що послідовністьx1,x2, не може наблизитися до кореняf.

Рішення

Дляf(x)=x32x+2, похідноїf(x)=3x22 є.Тому,

x1=x0f(x0)f(x0)=0f(0)f(0)=22=1.

На наступному кроці,

x2=x1f(x1)f(x1)=1f(1)f(1)=111=0.

Отже, числаx0,x1,x2, продовжують відскакувати вперед і назад між ними01 і ніколи не наближаються до кореня,f який знаходиться за інтервал[2,1] (рис.4.9.5). На щастя, якщо ми виберемо початкове наближенняx0 ближче до фактичного кореня, ми зможемо уникнути цієї ситуації.

Намальовано функцію f (x) = x3 — 2x + 2, яка має корінь між −2 та −1. Тангенс від x = 0 переходить до x = 1, а тангенс з x = 1 переходить до x = 0.
Малюнок4.9.5: Наближення продовжують чергуватися між ними01 і ніколи не наближаються до кореняf.
Вправа4.9.3

Боf(x)=x32x+2, нехайx0=1.5 і знайдутьx1 іx2.

Підказка

Використовуйте рівняння\ ref {Ньютон}.

Відповідь

x11.842105263
x21.772826920

З Прикладу4.9.3 ми бачимо, що метод Ньютона не завжди працює. Однак, коли це дійсно працює, послідовність наближень наближається до кореня дуже швидко. Обговорення того, як швидко послідовність наближень наближається до кореня, знайденого методом Ньютона, включено в тексти з чисельного аналізу.

Інші ітераційні процеси

Як уже згадувалося раніше, метод Ньютона є різновидом ітераційного процесу. Тепер ми розглянемо приклад іншого типу ітераційного процесу.

Розглянемо функціюF і початкове числоx0. Визначте наступні числаxn за формулоюxn=F(xn1). Цей процес є ітераційним процесом, який створює список чиселx0,x1,x2,,xn,. Цей список чисел може наблизитися до кінцевого числа,x оскількиn стає більшим, а може і ні. У прикладі4.9.4 ми бачимо приклад функціїF і початкове припущенняx0 таке, що результуючий список чисел наближається до кінцевого значення.

Приклад4.9.4: Finding a Limit for an Iterative Process

НехайF(x)=12x+4 і нехайx0=0. Для всіхn1 нехайxn=F(xn1). Знайдіть значенняx1,x2,x3,x4,x5. Зробіть здогадки про те, що відбувається з цим списком чиселx1,x2,x3,,xn, якn. Якщо список чиселx1,x2,x3, наближається до кінцевого числаx, тоxx задовольняєx=F(x), і називається фіксованою точкоюF.

Рішення

Якщоx0=0, то

  • x1=12(0)+4=4
  • x2=12(4)+4=6
  • x3=12(6)+4=7
  • x4=12(7)+4=7.5
  • x5=12(7.5)+4=7.75
  • x6=12(7.75)+4=7.875
  • x7=12(7.875)+4=7.9375
  • x8=12(7.9375)+4=7.96875
  • x9=12(7.96875)+4=7.984375.

З цього списку ми припускаємо, що значенняxn наближаються8.

Рисунок4.9.6 містить графічний аргумент, до якого8 наближаються значенняn. Починаючи з точки(x0,x0), проводимо вертикальну лінію до точки(x0,F(x0)). Наступний номер в нашому списку -x1=F(x0). Використовуємоx1 для розрахункуx2. Тому проводимо горизонтальну лінію, що з'єднується з(x0,x1) точкою(x1,x1) на лініїy=x, а потім проводимо вертикальну лінію, що(x1,x1) з'єднується з точкою(x1,F(x1)). ВиходомF(x1) стаєx2. Продовжуючи таким чином, ми могли б створити нескінченну кількість відрізків лінії. Ці відрізки лінії знаходяться в пастці між лініямиF(x)=x2+4 іy=x. Відрізки лінії наближаються до точки перетину цих двох ліній, що відбувається приx=F(x). Вирішуючи рівняння,x=x2+4, робимо висновок, що вони перетинаються вx=8. Тому наші графічні докази погоджуються з нашими чисельними доказами того, що список чиселx0,x1,x2, наближаєтьсяx=8 якn.

Функція F (x) = (1/2) x + 4 графується разом з y = x. З x0, який, здається, знаходиться в початковій точці, чергується лінія до функції F (x) при x1 = F (x0). Потім праворуч звідси проводиться лінія y = x, в якій точці проводиться лінія до x2 = F (x1). Потім праворуч звідси проводиться лінія y = x, в якій точці проводиться лінія до x3 = F (x2). Продовження цього процесу сходиться на точці перетину двох ліній в x* = 8.
Малюнок4.9.6: Цей ітераційний процес наближається до значенняx=8.
Вправа4.9.4

Розглянемо функціюF(x)=13x+6. Нехайx0=0 і нехайxn=F(xn1) дляn2. Знайтиx1,x2,x3,x4,x5. Зробіть здогадки про те, що відбувається зі списком чиселx1,x2,x3,xn, якn.

Підказка

Розглянемо точку, де лініїy=x іy=F(x) перетинаються.

Відповідь

x1=6,x2=8,x3=263,x4=809,x5=24227;x=9

Ітераційні процеси і хаос

Ітераційні процеси можуть дати дуже цікаву поведінку. У цьому розділі ми бачили кілька прикладів ітераційних процесів, які сходяться до фіксованої точки. Ми також бачили в прикладі4.9.3, що ітераційний процес відскочив назад і вперед між двома значеннями. Ми називаємо таку поведінку 2-циклом. Ітераційні процеси можуть сходитися до циклів з різною періодичністю, наприклад, 2−циклів, 4-циклів (де ітераційний процес повторює послідовність з чотирьох значень), 8 циклів тощо.

Деякі ітераційні процеси дають те, що математики називають хаосом. У цьому випадку ітераційний процес переходить від значення до значення, здавалося б, випадковим чином і ніколи не сходиться і не осідає в цикл. Хоча повне дослідження хаосу виходить за рамки цього тексту, в цьому проекті ми розглянемо одну з ключових властивостей хаотичного ітераційного процесу: чутливу залежність від початкових умов. Ця властивість відноситься до поняття, що невеликі зміни початкових умов можуть генерувати різко іншу поведінку в ітераційному процесі.

Ймовірно, найвідомішим прикладом хаосу є безліч Мандельброта (див. Рисунок4.9.7), названий на честь Бенуа Мандельброта (1924—2010), який досліджував його властивості та допоміг популяризувати область теорії хаосу. Набір Мандельброта зазвичай генерується комп'ютером і показує захоплюючі деталі щодо розширення, включаючи самореплікацію набору. Кілька кольорових версій набору були показані в музеях і їх можна знайти в Інтернеті та в популярних книгах на цю тему.

Дуже складний і органічний на вигляд фрактал.
Малюнок4.9.7: Безліч Мандельброта є відомим прикладом множини точок, породжених ітераційною хаотичною поведінкою відносно простої функції.

У цьому проекті ми використовуємо логістичну карту

f(x)=rx(1x)

деx[0,1] іr>0

як функція в нашому ітераційному процесі. Логістична карта є оманливо простою функцією; але, залежно від значенняr, результуючий ітераційний процес відображає деяку дуже цікаву поведінку. Це може призвести до фіксованих точок, циклів і навіть хаосу.

Для візуалізації довгострокової поведінки ітераційного процесу, пов'язаного з логістичною картою, ми будемо використовувати інструмент під назвою павутинна діаграма. Як ми зробили з ітераційним процесом, який ми розглядали раніше в цьому розділі, спочатку проводимо вертикальну лінію від точки(x0,0) до точки(x0,f(x0))=(x0,x1). Потім ми проводимо горизонтальну лінію від цієї точки до точки,(x1,x1), потім проведемо вертикальну лінію і продовжуємо процес(x1,f(x1))=(x1,x2), поки довгострокова поведінка системи не стане очевидною. Малюнок4.9.8 показує довгострокову поведінку логістичної карти приr=3.55 іx0=0.2. (Перші100 ітерації не будуються.) Довгострокова поведінка цього ітераційного процесу8 - цикл.

У першому квадранті f (x) = 3.55x (1 — x) графічно відображається як y = x. з деякої точки на осі х проводиться лінія вгору до лінії y = x, в якій точці вона перетворюється на горизонтальну і продовжується, поки вона не торкнеться зовнішнього краю f (x), в якій точці вона знову повертається вертикально, поки вона не буде кожною лінією y = x. Процес триває кілька разів і створює цікаву серію коробок.
Малюнок4.9.8: Схема павутини дляf(x)=3.55x(1x) представлена тут. Послідовність значень призводить до 8-циклу.
  1. Нехайr=0.5 і вибирайтеx0=0.2. Або вручну, або за допомогою комп'ютера, обчислити перші10 значення в послідовності. Чи схоже послідовність сходиться? Якщо так, то до якого значення? Це призводить до циклу? Якщо так, то який цикл (наприклад,2 −cycle,4 −cycle.)?
  2. Що відбувається, колиr=2?
  3. Дляr=3.2 іr=3.5, обчислити значення першої100 послідовності. Створіть павутинну діаграму для кожного ітераційного процесу. (Кілька безкоштовних аплетів доступні в Інтернеті, які генерують павутинні діаграми для логістичної карти.) Яка довгострокова поведінка в кожному з цих випадків?
  4. Тепер давайтеr=4. Обчисліть значення першої100 послідовності та створіть павутинну діаграму. Яке довгострокове поведінка в цьому випадку?
  5. Повторіть процес дляr=4, але нехайx0=0.201. Як ця поведінка порівнюється з поведінкою дляx0=0.2?

Ключові поняття

  • Метод Ньютона наближає корінняf(x)=0, починаючи з початкового наближенняx0, потім використовує дотичні лінії до графіка,f щоб створити послідовність наближеньx1,x2,x3,.
  • Як правило, метод Ньютона є ефективним методом пошуку того чи іншого кореня. У певних випадках метод Ньютона не працює, оскільки список чиселx0,x1,x2, не наближається до кінцевого значення або він наближається до значення, відмінного від шуканого кореня.
  • Будь-який процес, в якомуx0,x1,x2, формується список чисел шляхом визначення початкового числаx0 і визначення наступних чисел за рівняннямxn=F(xn1) для якоїсь функції,F є ітераційним процесом. Метод Ньютона є прикладом ітераційного процесу, де функціяF(x)=x[f(x)f(x)] для заданої функціїf.

Глосарій

ітераційний процес
процес, в якомуx0,x1,x2,x3 формується список чисел, починаючи з числаx0 і визначаючиxn=F(xn1) дляn1
метод Ньютона
метод апроксимації коренів зf(x)=0; використанням початкової здогадкиx0; кожне наступне наближення визначається рівняннямxn=xn1f(xn1)f(xn1)