Newtoni meetodi visualiseerija

nullkohtade leidmine puutujasammudega ja koonduvuse diagnostika

Interaktiivse simulatsiooni laadimine...

0,55 ja 0,58 koonduvad eri juurtele 🖖

Newtoni meetod kahekordistab igal sammul õigete kümnendkohtade arvu ning eelseadistus „Kiire juur“ näitab seda selgelt: liikudes lähteväärtusest x₀ = 1 juure √2 poole on vead 0,414, 0,0858, 0,00245, 2,1 × 10⁻⁶, 1,6 × 10⁻¹². Neli sammu, kaksteist õiget kümnendkohta. Sama mehhanism võib meetodi ka hätta jätta. Seal, kus tuletis on peaaegu null, on puutuja peaaegu rõhtne ja samm hiiglaslik. Funktsiooni x³ − x korral viib algväärtus 0,5774 esimese lähendi väärtuseni −2210 — seepärast koondub 0,55 negatiivsele, 0,58 aga positiivsele juurele.

järgi puutujat kuni teljeni 🖖

Selleks et leida, kus kõver läbib nulli, asendab Newtoni meetod kõvera praeguses hinnangus tema puutujaga ja hüppab punkti, kus see sirge lõikab x-telge. Kuna sile kõver näib lähedalt peaaegu sirge, jääb see lõikepunkt tavaliselt tõelisele nullkohale palju lähemale. Korrates jõuad kiiresti sihile. Valem: xn+1 = xn − f(xn)/f'(xn).

arvutid jagavad ilma jagamiseta 🖖

Kaasaegsed protsessorid arvutavad a/b sageli nii, et leiavad kõigepealt 1/b, ja Newtoni meetod teeb seda ilma ühegi jagamiseta. Rakendatuna funktsioonile f(x) = 1/x − a annab see iteratsiooni xn+1 = xn(2 − a·xn), mis koosneb ainult korrutamisest ja lahutamisest — riistvara jaoks odavatest tehetest. Sama nipp on kiirete pöördruutjuure rutiinide taga, sealhulgas kuulsa Quake III oma.

NEWTONI MEETOD — MILLAL SEE KAHEKORDISTAB KOHAD JA MILLAL PAGEB

Millises Newtoni juhtumis sa oled?

Newtoni meetod järgib puutujat teljeni ja kordab: xₖ₊₁ = xₖ − f(xₖ)/f′(xₖ). Kui see töötab, on tulemus muljetavaldav — õigete kohtade arv umbes kahekordistub igal sammul. Kõik läbikukkumise viisid tulevad samast kohast: nimetajast. Peaaegu null f′ paiskab sind kaugele, nullis kaduv f′ aeglustab su roomamiseks, ja start ekstreemumi valelt poolelt annab hoopis teise nullkoha.

Ruutkonvergents — juhtum, mille poolest Newton kuulus on ek+1 ∝ ek2
Lame tõus nullkohas — kiirus langeb lineaarseks f′(r) = 0 ⇒ ek+1 ≈ (1 − 1/m)ek
See pageb — samm kasvab, mitte ei kahane x → −2x
See koondub — nullkohta, mida sa ei palunud f′(x₀) = 0

01

Ruutkonvergents — juhtum, mille poolest Newton kuulus on

Mida sa tead: f on sile, f′ on nullkoha lähedal mugavalt nullist erinev ja algpunkt on piisavalt lähedal. Iga samm umbes ruudustab vea.

Iteratsioon: ek+1 ∝ ek2

Näidisarvutus: f(x) = x² − 2 alates x₀ = 1 → 1,5; 1,416667; 1,41421569; 1,41421356237: kõigepealt 1, siis 3, 6 ja 12 õiget kohta

Ava see juhtum: kiire nullkoht
Ruutkonvergents — juhtum, mille poolest Newton kuulus on. Iga puutuja maandub nullkohale palju lähemal kui eelmine ja viga ruudustub. f on sile, f′ on nullkoha lähedal mugavalt nullist erinev ja algpunkt on piisavalt lähedal. Iga samm umbes ruudustab vea.
Iga puutuja maandub nullkohale palju lähemal kui eelmine ja viga ruudustub.

02

Lame tõus nullkohas — kiirus langeb lineaarseks

Mida sa tead: Nullkoht on kordne, seega f ja f′ kaovad seal koos. Puutuja on peaaegu horisontaalne täpselt seal, kuhu sa lähed.

Iteratsioon: f′(r) = 0 ⇒ ek+1 ≈ (1 − 1/m)ek

Näidisarvutus: f(x) = x³ alates x₀ = 0,1 → 0,0667; 0,0444; 0,0296; 0,0198: iga samm korrutab vea 2/3-ga, mitte ei ruudusta seda

Ava see juhtum: lame tõus
Lame tõus nullkohas — kiirus langeb lineaarseks. Kolmekordne nullkoht teeb puutuja lamedaks: iga samm katab vaid kolmandiku järelejäänust. Nullkoht on kordne, seega f ja f′ kaovad seal koos. Puutuja on peaaegu horisontaalne täpselt seal, kuhu sa lähed.
Kolmekordne nullkoht teeb puutuja lamedaks: iga samm katab vaid kolmandiku järelejäänust.

03

See pageb — samm kasvab, mitte ei kahane

Mida sa tead: Nullkohale lähenedes variseb f′ kiiremini kui f, nii et parandus f/f′ läheb iga iteratsiooniga rohkem üle.

Iteratsioon: x → −2x

Näidisarvutus: f(x) = ∛x alates x₀ = 0,01 → −0,02; 0,04; −0,08; 0,16: valem annab täpselt x → −2x, nii et kaugus kahekordistub ja märk vahetub lõputult

Ava see juhtum: hajub
See pageb — samm kasvab, mitte ei kahane. Iga puutuja lõikab telge kaks korda kaugemal kui eelmine ja vastaspoolel. Nullkohale lähenedes variseb f′ kiiremini kui f, nii et parandus f/f′ läheb iga iteratsiooniga rohkem üle.
Iga puutuja lõikab telge kaks korda kaugemal kui eelmine ja vastaspoolel.

04

See koondub — nullkohta, mida sa ei palunud

Mida sa tead: Funktsioonil on mitu nullkohta ja algus asub ekstreemumi lähedal, kus f′ on väike ja esimene samm hiiglaslik.

Iteratsioon: f′(x₀) = 0

Näidisarvutus: f(x) = x³ − x jõuab x₀ = 0,7 pealt +1-ni, aga x₀ = 0,5 pealt maandub kohe esimene samm −1-l — nullkoht kahe teise taga

Ava see juhtum: vale tõmbebassein
See koondub — nullkohta, mida sa ei palunud. Kaks lähestikust algust, kaks eri nullkohta: piir asub ekstreemumis, mitte nullkohtade vahel. Funktsioonil on mitu nullkohta ja algus asub ekstreemumi lähedal, kus f′ on väike ja esimene samm hiiglaslik.
Kaks lähestikust algust, kaks eri nullkohta: piir asub ekstreemumis, mitte nullkohtade vahel.

Ülesanne täielikult lahendatud

  1. x³ − x − 2 juur Newtoni meetodil 5 sammu

    Newtoni meetod leiab võrrandi x³ − x − 2 juure kolme iteratsiooniga. Poolitusmeetodil kulub ainuüksi täpsuseni 10⁻⁶ jõudmiseks umbes kakskümmend sammu, Newtoni meetod ületab selle täpsuse juba teisel sammul. Uuri, millest selline kiirus tuleb ja mis on selle hind.

    1. Meetodi aluseks on üks idee: asendada kõver selle puutujaga ja lahendada hoopis see, sest sirget saab lahendada täpselt. Järgmine lähisväärtus on koht, kus puutuja lõikab nulli.

    2. Alustades punktist 1,5, on esimene samm peaaegu terve teekond. Funktsiooni väärtus on seal vaid −0,125, tõus on 5,75 ning nende suhe nihutab lähisväärtust umbes 0,022 võrra.

    3. Veel kaks sammu ja numbrid ei muutu enam. Tööriist esitab kolm iteratsiooni, sest neljas nihutaks vastust vähem kui tolerantsi võrra.

    4. Huvitav suurus ei ole lähend ise, vaid selle viga. Vigu jälgides ilmneb selge seaduspära: iga järgmine viga on ligikaudu eelmise vea ruut, mistõttu õigete kümnendkohtade arv kahekordistub igal sammul: 2, seejärel 4, 7 ja 14.

    5. Ja eesolev konstant ei ole suvaline. Funktsiooni f arendamine nullkoha ümbruses näitab, et järjestikuste ruutvigade suhe läheneb seal arvutatud väärtusele |f″/2f′|, mis on selle kuupfunktsiooni puhul 0,768. Vaadeldud suhted on 0,786, 0,768, 0,768.

    Vastus

    Tööriist annab 3 iteratsiooni järel juureks 1,52138. Põhjus on ruutkoonduvus: poolitusmeetod kahandab vahemiku igal sammul poole väiksemaks ja vajab täpsuseni 10⁻⁶ jõudmiseks umbes kakskümmend sammu, Newtoni meetod aga viib vea ligikaudu ruutu ning ületab selle täpsuse teisel sammul. Selle kiiruse eest tuleb maksta töökindlusega. Kui juur on vahemikku haaratud, ei saa poolitusmeetod ebaõnnestuda. Newtoni meetodil sellist vahemikku pole ning peaaegu nullilähedase tõusuga alguspunkt võib järgmise lähendi väga kaugele paisata. Selle kompromissiga tuleb arvestada kõigi arvuliste juureleidmismeetodite puhul. Seepärast haaravad praktikas kasutatavad lahendajad juure esmalt vahemikku ja lähevad alles siis üle Newtoni meetodile.

Õpitee

Kolm numbrilist meetodit ja kus nad hätta jäävad

Viib edasi Numbriline integreerimine

Allikad (1)

Näiteülesanded

  • kiire nullkoht - Alates väärtusest x0 = 1 kahanevad vead 0,414, 0,0858, 0,00245, 2,1 × 10⁻⁶, 1,6 × 10⁻¹². Igaüks on ligikaudu eelmise ruut, nii et nelja sammuga saadakse √2 kaksteist õiget kümnendkohta.
  • lame tõus - Funktsioonil x³ on punktis 0 kolmekordne juur. Seal liigub Newtoni meetod ruutkoonduvuse asemel visalt: iga samm korrutab x-i arvuga 2/3. Kuue sammu järel peatub meetod väärtusel 0,0088 ja teatab koondumisest. Juur on 0.
  • hajub - Kuupjuure leidmisel taandub Newtoni iteratsioon täpselt kujule x → -2x, mistõttu lähendid on 0,01, -0,02, 0,04, -0,08 ja nii edasi: absoluutväärtus kahekordistub ning märk vahetub lõputult. Meetod hajub iga algväärtuse korral peale juure enda.
  • vale tõmbebassein - x0 = 0,55 asub positiivsel poolel, kuid koondub väärtusele -1. Esimene puutuja paiskab lähendi väärtusele -3,60, sest tuletis on punkti 1/√3 = 0,5774 lähedal peaaegu null. Algväärtus 0,58 koondub hoopis väärtusele +1.
  • negatiivne nullkoht - Sama võrrand x² - 2 mis näites „Kiire juur“, kuid algväärtuse 1 asemel kasutatakse -1,2. Kolme sammuga koondub meetod väärtusele -1,414. Newtoni meetod leiab selle juure, mille poole algväärtus osutab, mitte tingimata soovitud juure.
  • range täpsus - Võrrandi x³ - x - 2 korral jõuab meetod algväärtusest 1,6 kolme iteratsiooniga väärtuseni 1,5213797 isegi tolerantsi 10⁻⁸ juures. Sama täpsuse saavutamiseks vajaks poolitusmeetod umbes kahtkümmend seitset poolitamist.