Rešite nelinearno enačbo z uporabo Newtonove metode na spletu. Tečajna naloga: Newtonova metoda za reševanje nelinearnih enačb



Ključne besede:

Namen dela: preučiti metode reševanja nelinearnih enačb z eno neznanko in jih preizkusiti pri eksperimentalnem delu.

Delovni cilji:

  1. Analizirajte specializirano literaturo in izberite najbolj racionalne metode za reševanje nelinearnih enačb, kar vsem maturantom omogoča poglobljeno študijo in asimilacijo te teme.
  2. Razviti nekaj vidikov metodologije za reševanje nelinearnih enačb z uporabo IKT.
  3. Raziščite metode za reševanje nelinearnih enačb:

‒ Metoda korakov

‒ Metoda razpolovitve

‒ Newtonova metoda

Uvod.

Brez matematične pismenosti je nemogoče uspešno obvladati metode reševanja problemov pri fiziki, kemiji, biologiji in drugih predmetih. Celoten kompleks naravoslovja se gradi in razvija na podlagi matematičnih znanj. Na primer, preučevanje številnih aktualnih problemov matematične fizike vodi do potrebe po reševanju nelinearnih enačb. Reševanje nelinearnih enačb je nujno v nelinearni optiki, fiziki plazme, teoriji superprevodnosti in fiziki nizkih temperatur. Literature na to temo je dovolj, vendar je veliko učbenikov in člankov težko razumljivih srednješolcem. Ta članek obravnava metode za reševanje nelinearnih enačb, ki jih je mogoče uporabiti za reševanje uporabnih problemov v fiziki in kemiji. Zanimiv vidik je uporaba informacijske tehnologije pri reševanju enačb in problemov v matematiki.

Koračna metoda.

Naj bo treba rešiti nelinearno enačbo oblike F(x)=0. Predpostavimo tudi, da imamo določen interval iskanja. Najti je treba interval [a,b] dolžine h, ki vsebuje prvi koren enačbe, začenši z leve meje iskalnega intervala.

riž. 1. Metoda korakov

Obstaja več načinov za rešitev takšne težave. Metoda korakov je najenostavnejša izmed numeričnih metod za reševanje neenačb, vendar je za doseganje visoke natančnosti potrebno znatno zmanjšati korak, kar močno poveča čas izračuna. Algoritem za reševanje enačb s to metodo je sestavljen iz dveh stopenj.

jazoder. Ločitev korenin.

Na tej stopnji se določijo odseki, od katerih vsak vsebuje samo en koren enačbe. Obstaja več možnosti za izvedbo te stopnje:

  • Zamenjamo vrednosti X (po možnosti z dokaj majhnim korakom) in vidimo, kje funkcija spremeni predznak. Če je funkcija spremenila predznak, to pomeni, da obstaja koren v območju med prejšnjo in trenutno vrednostjo X (če funkcija ne spremeni narave svojega povečanja/zmanjšanja, potem lahko rečemo, da obstaja samo en koren v tem intervalu).
  • Grafična metoda. Zgradimo graf in ocenimo, na katerih intervalih leži kateri koren.
  • Raziščimo lastnosti določene funkcije.

IIoder. Prečiščevanje korenin.

Na tej stopnji se razjasni pomen prej določenih korenin enačbe. Na tej stopnji se praviloma uporabljajo iterativne metode. Na primer metoda polovic (dihotomija) ali Newtonova metoda.

Metoda polovične delitve

Hitra in dokaj preprosta numerična metoda za reševanje enačb, ki temelji na zaporednem oženju intervala, ki vsebuje edini koren enačbe F(x) = 0, dokler ni dosežena določena natančnost E. Ta metoda se običajno uporablja pri reševanju kvadratnih enačb in enačbe višjih stopenj. Vendar ima ta metoda pomembno pomanjkljivost - če segment [a,b] vsebuje več kot en koren, potem ne bo mogel doseči dobrih rezultatov.

riž. 2. Metoda dihotomije

Algoritem za to metodo je naslednji:

‒ Določite nov približek korena x na sredini odseka [a;b]: x=(a+b)/2.

‒ Poiščite vrednosti funkcije v točkah a in x: F(a) in F(x).

‒ Preverite pogoj F(a)*F(x)

‒ Pojdite na 1. korak in znova razdelite segment na pol. Nadaljujte z algoritmom, dokler ni izpolnjen pogoj |F(x)|

Newtonova metoda

Najbolj natančna metoda numeričnih rešitev; primerna za reševanje zelo zapletenih enačb, vendar je zapletena zaradi potrebe po izračunavanju odvodov na vsakem koraku. je, da če je x n nek približek korenu enačbe , potem je naslednji približek definiran kot koren tangente na funkcijo f(x), narisane v točki x n.

Tangentna enačba na funkcijo f(x) v točki x n ima obliko:

V enačbi tangente postavimo y = 0 in x = x n +1.

Potem je algoritem za zaporedne izračune v Newtonovi metodi naslednji:

Konvergenca tangentne metode je kvadratna, vrstni red konvergence je 2.

Tako je konvergenca Newtonove tangentne metode zelo hitra.

Brez sprememb je metoda posplošena na kompleksen primer. Če je koren x i koren druge množitve ali višje, potem vrstni red konvergence pade in postane linearen.

Slabosti Newtonove metode so njena lokalnost, saj je zagotovljena konvergacija za poljuben začetni približek le, če je pogoj povsod izpolnjen , v nasprotnem primeru pride do konvergence le v določeni okolici korena.

Newtonova metoda (tangentna metoda) se običajno uporablja, ko enačba f(x) = 0 ima koren in so izpolnjeni naslednji pogoji:

1) funkcija y=f(x) definiran in zvezen pri ;

2) f(a) f(b) (funkcija zavzame vrednosti različnih predznakov na koncih segmenta [ a;b]);

3) izvedeni finančni instrumenti f"(x) in f""(x) ohrani znak na intervalu [ a;b] (tj. funkcija f(x) poveča ali zmanjša na segmentu [ a;b], ob ohranjanju smeri konveksnosti);

Pomen metode je naslednji: na segmentu [ a;b] je izbrana taka številka x 0, pri kateri f(x 0) ima isti znak kot f""(x 0), torej je pogoj izpolnjen f(x 0) f""(x) > 0. Tako je izbrana točka z absciso x 0, v kateri je tangenta na krivuljo y=f(x) na segmentu [ a;b] seka os Ox. Na točko x 0 Najprej je priročno izbrati enega od koncev segmenta.

Oglejmo si ta algoritem na posebnem primeru.

Naj nam bo dana vedno večja funkcija y = f(x) =x 2– 2, neprekinjeno na segmentu (0;2) in ima f "(x) =2x>0 in f ""(x) = 2> 0.

V našem primeru ima tangentna enačba obliko: y-y 0 =2x 0 ·(x-x 0). IN kot točko x 0 izberemo točko B 1 (b; f(b)) = (2,2). Narišite tangento na funkcijo y = f(x) v točki B 1 in označite presečišče tangente in osi Ox pika x 1. Dobimo enačbo prve tangente: y-2=2·2(x-2), y=4x-6. Ox: x 1 =

riž. 3. Konstrukcija prve tangente na graf funkcije f(x)

y=f(x) Ox skozi točko x 1, razumemo bistvo B 2 =(1,5; 0,25). Ponovno nariši tangento na funkcijo y = f(x) v točki B 2 in označite presečišče tangente in Ox pika x 2.

Enačba druge tangente: y-2,25=2*1,5(x-1,5), y = 3x - 4,25. Presečišče tangente in osi Ox: x 2 =.

Nato poiščemo presečišče funkcije y=f(x) in na os narisano navpičnico Ox skozi točko x 2 dobimo točko B 3 in tako naprej.

riž. 4. Konstrukcija druge tangente na graf funkcije f(x)

Prvi približek korena je določen s formulo:

= 1.5.

Drugi približek korena je določen s formulo:

=

Tretji približek korena je določen s formulo:

torej ,i Th približek korena je določen s formulo:

Izračuni se izvajajo, dokler se decimalna mesta, ki so potrebna v odgovoru, ne ujemajo ali je dosežena podana natančnost e – dokler ni izpolnjena neenakost |xi-xi-1|

V našem primeru primerjajmo približek, dobljen v tretjem koraku, z realnim odgovorom. Kot lahko vidite, smo že pri tretjem koraku prejeli napako manjšo od 0,000002.

Reševanje enačbe s CADMathCAD

Za najenostavnejše enačbe oblike f(x) = 0 je rešitev v MathCAD-u najdena s funkcijo korenina.

koren(f (X 1 , x 2 , … ) , X 1 , a, b ) - vrne vrednost X 1 , ki pripada segmentu [ a, b ] , v katerem je izraz ali funkcija f (X ) gre na 0. Oba argumenta te funkcije morata biti skalarna. Funkcija vrne skalar.

riž. 5. Reševanje nelinearne enačbe v MathCAD (korenska funkcija)

Če pride do napake zaradi uporabe te funkcije, to lahko pomeni, da enačba nima korenin ali pa se korenine enačbe nahajajo daleč od začetnega približka, izraz ima lokalno maks in min med začetnim približkom in koreninami.

Če želite ugotoviti vzrok napake, je treba pregledati graf funkcije f(x). To bo pomagalo ugotoviti prisotnost korenov enačbe f(x) = 0 in če obstajajo, približno določimo njihove vrednosti. Čim natančneje je izbran začetni približek korena, tem hitreje bo najdena njegova natančna vrednost.

Če začetni približek ni znan, je priporočljivo uporabiti funkcijo rešiti . Poleg tega, če enačba vsebuje več spremenljivk, morate za ključno besedo rešiti navesti seznam spremenljivk, glede na katere se enačba rešuje.

riž. 6. Reševanje nelinearne enačbe v MathCAD (reši funkcijo)

Zaključek

Študija je preučevala tako matematične metode kot reševanje enačb s programiranjem v CAD sistemu MathCAD. Različne metode imajo svoje prednosti in slabosti. Upoštevati je treba, da je uporaba določene metode odvisna od začetnih pogojev dane enačbe. Tiste enačbe, ki jih je mogoče dobro rešiti z metodami faktorizacije ipd., ki jih pozna šola, ni smiselno reševati z bolj kompleksnimi metodami. Probleme uporabne matematike, ki so pomembni za fiziko in kemijo in zahtevajo zapletene računske operacije pri reševanju enačb, uspešno rešujemo na primer s programiranjem. Dobro jih je rešiti po Newtonovi metodi.

Če želite razjasniti korenine, lahko uporabite več metod za reševanje iste enačbe. Prav ta raziskava je bila podlaga za to delo. Hkrati je enostavno videti, katera metoda je najuspešnejša pri reševanju posamezne stopnje enačbe in katere metode je na tej stopnji bolje ne uporabiti.

Preučeno gradivo po eni strani pomaga širiti in poglabljati matematično znanje ter vzbujati zanimanje za matematiko. Po drugi strani pa je pomembno, da znajo reševati prave matematične naloge za tiste, ki nameravajo pridobiti tehnične in inženirske poklice. Zato je to delo pomembno za nadaljnje izobraževanje (na primer na visokošolski ustanovi).

Literatura:

  1. Mityakov S. N. Informatika. Komplet izobraževalnih in metodoloških gradiv. - N. Novgorod: Nižni Novgorod. stanje tehn. univ., 2006
  2. Vainberg M. M., Trenogin V. A. Teorija razvejanih rešitev nelinearnih enačb. M.: Nauka, 1969. - 527 str.
  3. Bronshtein I. N., Semendyaev K. A. Priročnik matematike za inženirje in študente tehničnih fakultet - M.: Nauka, 1986.
  4. Omelchenko V.P., Kurbatova E.V. Matematika: učbenik. - Rostov n/d .: Phoenix, 2005.
  5. Savin A.P. Enciklopedični slovar mladega matematika. - M.: Pedagogika, 1989.
  6. Korn G., Korn T. Priročnik matematike za znanstvenike in inženirje. - M.: Nauka, 1973.
  7. Kiryanov D. Mathcad 15/MathcadPrime 1.0. - Sankt Peterburg: BHV-Petersburg, 2012.
  8. Chernyak A., Chernyak Zh., Domanova Yu Višja matematika na osnovi Mathcad. Splošni tečaj. - Sankt Peterburg: BHV-Petersburg, 2004.
  9. Porshnev S., Belenkova I. Numerične metode na osnovi Mathcada. - Sankt Peterburg: BHV-Petersburg, 2012.

Ključne besede: nelinearne enačbe, uporabna matematika, CAD MathCAD, Newtonova metoda, metoda korakov, metoda dihotomije..

Opomba: Članek je posvečen študiju metod za reševanje nelinearnih enačb, vključno z uporabo sistema za računalniško podprto načrtovanje MathCAD. Obravnavane so stopenjska metoda, polovična in Newtonova metoda, podani so podrobni algoritmi za uporabo teh metod in opravljena primerjalna analiza teh metod.

Na primer:

Postavimo si nalogo najti veljaven korenine te enačbe.

In zagotovo obstajajo! - iz člankov o funkcijski grafi in enačbe višje matematike dobro veš kakšen je urnik polinomska funkcija neparna stopnja vsaj enkrat seka os, zato ima naša enačba vsaj en pravi koren. ena. ali dva. Ali tri.

Najprej prosimo, da preverite razpoložljivost racionalno korenine. Glede na ustrezen izrek, le številke 1, –1, 3, –3 lahko zahtevajo ta »naziv«, z neposredno zamenjavo pa se zlahka prepričate, da nobeno od njih »ne ustreza«. Tako ostajajo iracionalne vrednote. Iracionalni koren(-e) polinoma stopnje 3 je mogoče najti točno (izraženo skozi radikale) s pomočjo t.i Cardano formule vendar je ta metoda precej okorna. Toda za polinome 5. in višjih stopenj sploh ni splošne analitične metode, poleg tega pa v praksi obstaja veliko drugih enačb, v katerih natančne vrednosti nemogoče je pridobiti prave korenine (čeprav obstajajo).

Vendar pa v uporabi (na primer inženiring) težave, je več kot sprejemljivo uporabiti izračunane približne vrednosti z določeno natančnostjo.

Nastavimo natančnost za naš primer. Kaj to pomeni? To pomeni, da moramo najti TAKO približno vrednost korena (korenine) v katerem smo jamčimo, da se motimo za največ 0,001 (ena tisočinka) .

Popolnoma jasno je, da rešitve ni mogoče začeti »naključno«, zato v prvem koraku korenine ločiti. Ločiti koren pomeni najti dovolj majhen (običajno en sam) segment, ki mu ta koren pripada in na katerem ni drugih korenin. Najenostavnejši in najbolj dostopen grafična metoda ločevanja korenin. Gradimo točka za točko graf funkcije :

Iz risbe sledi, da ima enačba očitno en pravi koren, ki pripada segmentu. Na koncu tega intervala funkcija vzame vrednosti različnih predznakov: , in iz dejstva kontinuiteta funkcije na segmentu Takoj je viden elementarni način razjasnitve korena: interval razdelimo na pol in izberemo segment, na koncu katerega ima funkcija različne predznake. V tem primeru gre očitno za segment. Nastali interval razdelimo na polovico in ponovno izberemo segment »različnega znaka«. In tako dalje. Takšna zaporedna dejanja se imenujejo ponovitve. V tem primeru jih je treba izvajati, dokler dolžina segmenta ne postane manjša od dvakratne natančnosti izračuna, sredino zadnjega segmenta z "različnim predznakom" pa je treba izbrati kot približno vrednost korena.

Obravnavana shema je dobila naravno ime - metoda polovične delitve. In pomanjkljivost te metode je hitrost. počasi. Zelo počasi. Preveč ponovitev bo, preden bomo dosegli zahtevano natančnost. Z razvojem računalniške tehnologije to seveda ni problem, vendar je matematika tisto, čemur matematika služi, da išče najbolj racionalne rešitve.

In eden od bolj učinkovitih načinov za iskanje približne vrednosti korena je natančno tangentna metoda. Kratko geometrijsko bistvo metode je naslednje: najprej z uporabo posebnega kriterija (več o tem malo kasneje) izbran je eden od koncev segmenta. Ta konec se imenuje začetnica približek korena, v našem primeru: . Sedaj narišemo tangento na graf funkcije na abscisi (modra pika in vijolična tangenta):

Ta tangenta je prečkala os x na rumeni točki in upoštevajte, da smo v prvem koraku skoraj "zadeli koren"! Saj bo prvi koreninski pristop. Nato spustimo rumeno navpičnico na graf funkcije in "pridemo" do oranžne točke. Skozi oranžno točko ponovno narišemo tangento, ki bo sekala os še bližje korenu! In tako dalje. Ni težko razumeti, da se z metodo tangente cilju približujemo z velikimi koraki, za doseganje natančnosti pa bo potrebnih dobesedno več ponovitev.

Ker je tangenta definirana skozi odvod funkcije, potem se je ta lekcija znašla v razdelku »Izvedeni finančni instrumenti« kot ena od njegovih aplikacij. In brez spuščanja v podrobnosti teoretična utemeljitev metode, bom razmislil o tehnični plati vprašanja. V praksi se zgoraj opisani problem pojavi približno v naslednji formulaciji:

Primer 1

Z grafično metodo poiščite interval, na katerem se nahaja pravi koren enačbe. Z uporabo Newtonove metode pridobite približno vrednost korena z natančnostjo 0,001

Tukaj je "varčna različica" naloge, v kateri je takoj navedena prisotnost enega veljavnega korena.

rešitev: na prvi stopnici koren mora biti grafično ločen. To je mogoče storiti z risanjem (glejte ilustracije zgoraj), vendar ima ta pristop številne pomanjkljivosti. Prvič, ni dejstvo, da je graf preprost (ne vemo vnaprej), programska oprema pa ni vedno pri roki. In drugič (posledica iz 1.), s precejšnjo verjetnostjo rezultat niti ne bo shematska risba, temveč groba risba, kar seveda ni dobro.

No, zakaj potrebujemo nepotrebne težave? Predstavljajmo si enačba v obrazcu PREVIDNO sestavi grafe in na risbi označi koren (»X« koordinata presečišča grafov):

Očitna prednost ta metoda je, da so grafi teh funkcij izdelani ročno veliko natančneje in veliko hitreje. Mimogrede, upoštevajte to naravnost prečkal kubična parabola v eni sami točki, kar pomeni, da ima predlagana enačba dejansko le en pravi koren. Zaupaj, a preveri ;-)

Torej, naša "stranka" spada v segment in "na oko" je približno enaka 0,65-0,7.

Na drugem koraku treba izbrati začetni približek korenina Običajno je to eden od koncev segmenta. Začetni približek mora izpolnjevati naslednji pogoj:

Najdimo prvi in drugo izpeljane funkcije :

in preverite levi konec segmenta:

Tako se ničla "ni prilegala".

Preverjanje desnega konca segmenta:

- Vse je v redu! Izberemo kot začetni približek.

Na tretjem korakuČaka nas pot do korenine. Vsak naslednji korenski približek se izračuna iz prejšnjih podatkov z uporabo naslednjega ponavljajoče se formule:

Proces se konča, ko je izpolnjen pogoj, kjer je vnaprej določena natančnost izračuna. Posledično se "n-ti" približek vzame kot približna vrednost korena: .

Sledijo rutinski izračuni:

(zaokroževanje se običajno izvede na 5-6 decimalnih mest)

Ker je dobljena vrednost večja od , preidemo na 1. približek korena:

Izračunamo:

, zato je treba preiti na 2. približek:

Gremo v naslednji krog:

, s čimer so iteracije zaključene, 2. približek pa je treba vzeti kot približno vrednost korena, ki jo je treba v skladu z dano natančnostjo zaokrožiti na tisočinko:

V praksi je priročno vnesti rezultate izračunov v tabelo, da bi nekoliko skrajšali vnos, ulomek pogosto označimo z:

Če je mogoče, je bolje, da sami izračune izvedete v Excelu - to je veliko bolj priročno in hitreje:

Odgovori: natančno do 0,001

Naj vas spomnim, da ta stavek namiguje na to, da smo se zmotili pri oceni pravi pomen koren za največ 0,001. Tisti, ki ste v dvomih, lahko vzamejo v roke mikrokalkulator in na levi strani enačbe še enkrat nadomestijo približno vrednost 0,674.

Zdaj pa »preglejmo« desni stolpec tabele od zgoraj navzdol in opazimo, da se vrednosti vztrajno zmanjšujejo v absolutni vrednosti. Ta učinek se imenuje konvergenca metoda, ki nam omogoča izračun korena s poljubno visoko natančnostjo. Vendar do konvergence ne pride vedno – zagotovljeno je številni pogoji, o čemer sem molčal. Še posebej mora biti segment, na katerem je koren izoliran dovolj majhen– sicer se bodo vrednosti naključno spreminjale in algoritma ne bomo mogli dokončati.

Kaj storiti v takih primerih? Preverite, ali so navedeni pogoji izpolnjeni (glej zgornjo povezavo), in po potrebi zmanjšajte segment. Relativno gledano torej, če v analiziranem primeru interval ni bil primeren za nas, potem bi morali upoštevati na primer segment. V praksi sem se srečal s takimi primeri, in ta tehnika resnično pomaga! Enako je treba storiti, če oba konca "širokega" segmenta ne izpolnjujeta pogoja (tj. nobeden od njih ni primeren kot začetni približek).

Toda običajno vse deluje kot ura, čeprav ne brez pasti:

Primer 2

Grafično določite število realnih korenin enačbe, ločite te korenine in z uporabo Newtonove metode natančno poiščite približne vrednosti korenin

Pogoj problema je postal opazno strožji: prvič, vsebuje močan namig, da enačba nima enega korena, drugič, povečala se je zahteva po točnosti, in tretjič, z grafom funkcije veliko težje se spopasti.

In zato rešitev Začnimo z varčevalnim trikom: zamislite si enačbo v obliki in narišite grafe:


Iz risbe sledi, da ima naša enačba dva realna korena:

Algoritem, kot razumete, je treba dvakrat "zagnati". Vendar je to le v najtežjih primerih, včasih morate pregledati 3-4 korenine.

1) Uporaba merila Ugotovimo, kateri konec segmenta izbrati kot začetni približek prvega korena. Iskanje odvodov funkcij :

Testiranje levega konca segmenta:

- prišel gor!

Torej je začetni približek.

Koren bomo izboljšali z uporabo Newtonove metode z uporabo rekurentne formule:
- do ulomka modulo ne bo manjša od zahtevane natančnosti:

In tukaj beseda "modul" pridobi neiluzoren pomen, saj so vrednosti negativne:


Iz istega razloga bi morali pokazati večjo pozornost pri prehodu na vsak naslednji približek:

Kljub dokaj visokim zahtevam po točnosti se je proces spet končal pri 2. približku: , torej:

Natančno do 0,0001

2) Poiščimo približno vrednost korena.

Levi konec segmenta preverimo za uši:

, zato ni primeren kot začetni približek.

Problem iskanja rešitev sistema n nelinearnih algebrskih ali transcendentnih enačb z n neznankami oblike

f 1(x 1, x 2, … x n) = 0,

f 2(x 1, x 2, … x n) = 0,

……………………

f n (x 1 ,x 2 ,… x n ) = 0,

široko upoštevan v računalniški praksi. Podobni sistemi enačb se lahko pojavijo na primer pri numeričnem modeliranju nelinearnih fizičnih sistemov na stopnji iskanja njihovih stacionarnih stanj. V številnih primerih sisteme oblike (6.1) dobimo posredno, v procesu reševanja kakšnega drugega računskega problema. Na primer, ko poskušate minimizirati funkcijo več spremenljivk, lahko poiščete tiste točke v večdimenzionalnem prostoru, kjer je gradient funkcije enak nič. V tem primeru je potrebno rešiti sistem enačb (6.1) z levimi stranmi - projekcijami gradienta na koordinatne osi.

V vektorskem zapisu lahko sistem (6.1) zapišemo v bolj kompaktni obliki

vektorski stolpec funkcij, simbol () T označuje operacijo transponicije

Iskanje rešitev sistema nelinearnih enačb je veliko bolj zapletena naloga kot reševanje ene same nelinearne enačbe. Kljub temu je mogoče številne iterativne metode za reševanje nelinearnih enačb razširiti na sisteme nelinearnih enačb.

Enostavna iteracijska metoda

Enostavna iteracijska metoda za sisteme nelinearnih enačb je v bistvu posplošitev istoimenske metode za eno enačbo. Temelji na dejstvu, da je sistem enačb (6.1) reduciran na obliko

x 1= g 1(x 1, x 2, … , x n) , x 2= g 2(x 1, x 2, … , x n) ,

……………………

x n= g n(x 1 , x 2 , … , x n) ,

in ponovitve se izvajajo v skladu s formulami

x 1 (k + 1 )= g 1 (x 1 (k ), x 2 (k ), ... , x n (k )), x 2 (k + 1 )= g 2 (x 1 (k ), x 2 (k), …, x n (k)),

……………………………

x n (k + 1)= g n (x 1 (k), x 2 (k), ..., x n (k)).

Tukaj zgornji indeks označuje približno število. Iterativni proces (6.3) se začne z nekim začetnim približkom

(x 1 (0) ,x 2 (0) ,… ,x n (0) ) in nadaljujte, dokler moduli ne povečajo

vsi argumenti po eni k-iteraciji ne bodo postali manjši od podane vrednosti ε : x i (k + 1 ) − x i (k )< ε дляi = 1,2,… ,n .

Čeprav preprosta iteracijska metoda vodi neposredno do rešitve in jo je enostavno programirati, ima dve pomembni pomanjkljivosti. Eden od njih je počasna konvergenca. Drugo je, da če je začetni približek izbran daleč od prave rešitve (X 1,X 2,…,X n), potem konvergenca

metoda ni zagotovljena. Jasno je, da postane problem izbire začetnega približka, ki ni preprost niti za eno enačbo, pri nelinearnih sistemih zelo kompleksen.

Rešite sistem nelinearnih enačb:

(x...

) =0

F n (x 1 ...

x n) = 0 .

Neposrednih metod za reševanje nelinearnih sistemov splošne oblike ni. Samo v nekaterih primerih je mogoče sistem (4.1) rešiti neposredno. Na primer, v primeru dveh enačb je včasih mogoče eno neznanko izraziti z drugo in tako zmanjšati problem na reševanje ene nelinearne enačbe glede na eno neznanko.

Iterativne metode se običajno uporabljajo za reševanje sistemov nelinearnih enačb.

Newtonova metoda

V primeru ene enačbe F(x) = 0 smo algoritem Newtonove metode zlahka dobili s pisanjem tangentnih enačb na krivuljo y = F(x). Newtonova metoda za sisteme enačb temelji na uporabi razširitve funkcij F 1 (x 1 ... x n) v Taylorjev niz in členov, ki vsebujejo

obstoječi derivati ​​drugega (in višjega reda) se zavržejo. Naj bodo približne vrednosti neznank sistema (4.1) enake

odgovoren a 1 ,a 2 ,....,a n . Naloga je najti prirastke (po

urejanja) na te vrednosti

x 1, x 2,...,

x n , zaradi česar je rešitev sistema

teme bodo zapisane v obliki:

x 1= a 1+ x 1,

x 2= a 2+

x 2, .... ,x n = a n + x n.

Razširimo leve strani enačb (4.1) ob upoštevanju Taylorjevega niza in se omejimo le na linearne člene relativnega

točno poveča:

F1 (x1 ... xn ) ≈ F1 (a1 ... an ) +

∂ F 1

x 1+

+ ∂ F 1

xn,

∂x

∂x

F2 (x1 ... xn ) ≈ F2 (a1 ... an ) +

∂ F 2

x 1+

∂ F 2

xn,

∂x

∂x

...................................

F n(x 1 ... x n) ≈ F n(a 1 ... a n) +

∂Fn

x 1+

∂Fn

xn

∂x

∂x

S podstavitvijo v sistem (4.1) dobimo naslednji sistem linearnih algebrskih enačb za prirastke:

∂ F 1

∂ F 1

+ ∂ F 1

= −F ,

∂x

∂x

∂x

∂ F 2

∂ F 2

∂ F 2

= −F ,

∂x

∂x

∂x

..............................

∂Fn

∂Fn

∂Fn

= −F .

∂x

∂x

∂x

Vrednosti F 1 ...

izvedenke

se izračunajo na

x 2 = a 2, …x n = a n.

Determinanta sistema (4.3) je Jacobian:

∂ F 1

∂ F 1

∂x

∂x

∂ F 2

∂ F 2

J = ∂x

∂x.

… … … …

∂ F n… … ∂ F n∂ x 1 ∂ x n

x 1= a 1,

Da obstaja edinstvena rešitev sistema, mora biti Jacobian pri vsaki ponovitvi različen od nič.

Tako je iterativni postopek reševanja sistema enačb po Newtonovi metodi sestavljen iz določanja prirastkov x 1 , x 2 , ..., x n k vrednostim neznank pri vsaki iteraciji z reševanjem sistema linearnih algebrskih enačb ( 4.3). Štetje se ustavi, če postanejo vsi prirastki majhni v absolutni vrednosti: maxx i< ε . В ме-

Pri Newtonovi metodi je za zagotovitev dobre konvergence pomembna tudi uspešna izbira začetnega približka. Konvergenca se poslabša, ko se število enačb v sistemu poveča.

Kot primer razmislite o uporabi Newtonove metode za reševanje sistema dveh enačb:

∂ ∂ F 1. x

Količine na desni strani so izračunane pri x = a,y = b.

Če so pogoji izpolnjeni

y−b

< εи

x−a

za dano M, torej

prikazani sta vrednosti x in y,

drugače

obstaja sklep

x,y,M.

DRŽAVNA IZOBRAŽEVALNA INSTITUCIJA

"Pridnestrska državna univerza poimenovana po. T.G. Ševčenko"

Podružnica Rybnitsa

Oddelek za fiziko, matematiko in informatiko

Tečajna naloga

pri disciplini: “Delavnica reševanja nalog na računalniku”

"Newtonova metoda za reševanje nelinearnih enačb"

Dokončano:

študent 3. letnika;

330. skupina

specialnosti: “Informatika”

z dodatnimi smer angleščina

Nistor A.G.

Preverjeno:

učitelj Panchenko T. A.


Uvajanje računalnikov v vsa področja človekovega delovanja zahteva od strokovnjakov različnih profilov, da obvladajo veščine uporabe računalniške tehnologije. Povečuje se stopnja usposobljenosti študentov, ki se že od prvega letnika uvajajo v uporabo računalnikov in najenostavnejših numeričnih metod, da ne omenjamo dejstva, da izvajanje tečajev in diplomskih projektov, uporaba računalniške tehnologije postane norma. na veliki večini univerz.

Računalniška tehnologija se zdaj uporablja ne le v inženirskih izračunih in ekonomskih vedah, ampak tudi v tako tradicionalno nematematičnih specialitetah, kot so medicina, lingvistika in psihologija. V zvezi s tem lahko rečemo, da je uporaba računalnikov postala zelo razširjena. Pojavila se je velika kategorija strokovnjakov - uporabniki računalnikov, ki potrebujejo znanje o uporabi računalnikov v svoji panogi - veščine dela z obstoječo programsko opremo, pa tudi ustvarjanje lastne programske opreme, prilagojene reševanju določenega problema. In tukaj uporabniku pridejo na pomoč opisi programskih jezikov na visoki ravni in numeričnih metod.

Numerične metode razvijajo in raziskujejo praviloma visoko usposobljeni matematiki. Za večino uporabnikov je glavna naloga razumeti osnovne ideje in metode, funkcije in aplikacije. Uporabniki pa želijo z računalnikom delati ne le kot z visoko inteligentnim kalkulatorjem, ampak tudi kot pomočnikom pri vsakdanjem delu, skladiščem informacij s hitrim in urejenim dostopom ter virom in procesorjem grafičnih informacij. Vse te funkcije sodobnega računalnika nameravam prikazati v tej nalogi.

Cilji in cilji.

Namen te naloge je preučiti in implementirati v programski izdelek rešitev nelinearnih enačb z uporabo Newtonove metode. To delo je sestavljeno iz treh delov, zaključka in dodatka. Prvi del je teoretičen in vsebuje splošne informacije o Newtonovi metodi. Drugi je praktični del. Tukaj opisujemo Newtonovo metodo, analizirano s posebnimi primeri. Tretja pa je namenjena testiranju programa in analizi rezultatov. Na koncu je podan zaključek o opravljenem delu.

Namen te naloge je programska implementacija Newtonove metode za reševanje nelinearnih enačb.

Če želite to narediti, morate opraviti naslednje naloge:

1. Preučite potrebno literaturo.

2. Pregled obstoječih metod za reševanje nelinearnih enačb.

3. Preučite Newtonovo metodo za reševanje nelinearnih enačb.

4. Razmislite o rešitvi nelinearnih enačb z Newtonovo metodo na konkretnih primerih.

5. Razviti program za reševanje nelinearnih enačb po Newtonovi metodi.

6. Analizirajte rezultate.

Razmislite o problemu iskanja korenin nelinearne enačbe

Korenine enačbe (1) so tiste vrednosti x, ki jih ob zamenjavi spremenijo v identiteto. Samo za najenostavnejše enačbe je mogoče najti rešitev v obliki formul, tj. analitično obliko. Pogosteje je treba enačbe reševati s približnimi metodami, med katerimi so zaradi pojava računalnikov najbolj razširjene numerične metode.

Algoritem za iskanje korenin z uporabo približnih metod lahko razdelimo na dve stopnji. Najprej se preuči lokacija korenin in izvede njihovo ločevanje. Najde se območje, v katerem je koren enačbe ali začetni približek korenu x 0. Najenostavnejši način za rešitev tega problema je pregledovanje grafa funkcije f(x). V splošnem primeru je za njegovo rešitev potrebno uporabiti vsa sredstva matematične analize.

Obstoj vsaj enega korena enačbe (1) na najdenem segmentu izhaja iz Bolzanovega pogoja:

f(a)*f(b)<0 (2)

To pomeni, da je funkcija f(x) zvezna na tem intervalu. Vendar ta pogoj ne odgovarja na vprašanje o številu korenov enačbe na danem intervalu. Če zahtevo po kontinuiteti funkcije dopolnimo z zahtevo po njeni monotonosti, kar izhaja iz konstantnosti predznaka prvega odvoda, potem lahko trdimo, da na danem segmentu obstaja en sam koren.

Pri lokalizaciji korenov je pomembno poznati tudi osnovne lastnosti te vrste enačb. Na primer, spomnimo se nekaterih lastnosti algebraičnih enačb:

kje so pravi koeficienti.

a) Enačba stopnje n ima n korenin, med katerimi so lahko realne in kompleksne. Kompleksni koreni tvorijo kompleksne konjugirane pare, zato ima enačba sodo število takšnih korenov. Če je n liho, obstaja vsaj en pravi koren.

b) Število pozitivnih realnih korenov je manjše ali enako številu spremenljivih predznakov v zaporedju koeficientov. Zamenjava x z –x v enačbi (3) nam omogoča, da ocenimo število negativnih korenov na enak način.

Na drugi stopnji reševanja enačbe (1) se z uporabo dobljenega začetnega približka konstruira iterativni proces, ki omogoča prečiščevanje vrednosti korena z določeno vnaprej določeno natančnostjo. Iterativni proces je sestavljen iz zaporednega izboljšanja začetnega približka. Vsak tak korak se imenuje ponovitev. Kot rezultat iteracijskega procesa se najde zaporedje približnih vrednosti korenin enačbe. Če se to zaporedje približuje resnični vrednosti korena x, ko n raste, potem iterativni proces konvergira. Rečeno je, da iterativni proces konvergira vsaj do reda m, če je izpolnjen naslednji pogoj:

, (4)


kjer je C>0 neka konstanta. Če je m=1, potem govorimo o konvergenci prvega reda; m=2 - o kvadratni, m=3 - o kubični konvergenci.

Iterativni cikli se končajo, če so za dano dopustno napako izpolnjena merila za absolutna ali relativna odstopanja:

ali majhno odstopanje:

To delo je posvečeno študiju algoritma za reševanje nelinearnih enačb z uporabo Newtonove metode.

1.1 Pregled obstoječih metod za reševanje nelinearnih enačb

Obstaja veliko različnih metod za reševanje nelinearnih enačb, nekatere od njih so predstavljene spodaj:

1)Metoda ponavljanja. Pri reševanju nelinearne enačbe z iteracijsko metodo bomo uporabili enačbo, zapisano v obliki x=f(x). Določena je začetna vrednost argumenta x 0 in natančnost ε. Prvi približek rešitve x 1 najdemo iz izraza x 1 =f(x 0), drugi - x 2 =f(x 1) itd. V splošnem primeru najdemo približek i+1 s formulo xi+1 =f(xi). Ta postopek ponavljamo, dokler |f(xi)|>ε. Pogoj za konvergenco iteracijske metode |f"(x)|<1.

2)Newtonova metoda. Pri reševanju nelinearne enačbe po Newtonovi metodi sta podana začetna vrednost argumenta x 0 in natančnost ε. Nato v točki (x 0 ,F(x 0)) narišemo tangento na graf F(x) in določimo presečišče tangente z osjo x 1. V točki (x 1 ,F(x 1)) ponovno konstruiramo tangento, poiščemo naslednji približek želene rešitve x 2 itd. Ta postopek ponavljamo do |F(xi)| > ε. Za določitev presečišča (i+1) tangente z abscisno osjo uporabimo naslednjo formulo x i+1 =x i -F(x i)\ F’(x i). Pogoj za konvergenco tangentne metode F(x 0)∙F""(x)>0 itd.

3). Metoda dihotomije. Tehnika reševanja se zmanjša na postopno delitev začetnega intervala negotovosti na pol po formuli C k = a k + b k /2.

Da bi iz obeh nastalih segmentov izbrali želeno, je treba najti vrednost funkcije na koncih nastalih segmentov in upoštevati tisto, na kateri bo funkcija spremenila predznak, to je pogoj f ( a k) * f (v k) mora biti izpolnjeno<0.

Postopek delitve segmenta se izvaja, dokler dolžina trenutnega intervala negotovosti ni manjša od podane natančnosti, tj.

v do - a do< E. Тогда в качестве приближенного решения уравнения будет точка, соответствующая середине интервала неопределённости.

4). Metoda akordov. Ideja metode je, da je tetiva zgrajena na odseku, ki povezuje konca loka grafa funkcije y=f(x), in točko c, presečišče tetive z x- osi, velja za približno vrednost korena

c = a - (f(a)Х (a-b)) / (f(a) - f(b)),

c = b - (f(b)Х (a-b)) / (f(a) - f(b)).

Naslednji približek iščemo na intervalu ali odvisno od predznakov funkcijskih vrednosti v točkah a, b, c

x* O, če je f(c)H f(a) > 0;

x* O če f(c)X f(b)< 0 .


Če f"(x) ne spremeni predznaka v , potem z oznako c=x 1 in upoštevanjem a ali b kot začetnega približka dobimo iterativne formule metode tetiv s fiksno desno ali levo točko.

x 0 =a, x i+1 = x i - f(x i)(b-x i) / (f(b)-f(x i), pri čemer je f "(x)Х f "(x) > 0;

x 0 =b, x i+1 = x i - f(x i)(x i -a) / (f(x i)-f(a), pri čemer je f "(x)Х f "(x)< 0 .

Konvergenca metode tetiv je linearna.

1.2 Algoritem Newtonove metode

Sestavimo učinkovit algoritem za izračun korenov enačbe. Naj bo podan začetni približek. Izračunajmo vrednost funkcije in njenega odvoda na tej točki. Poglejmo si grafično ponazoritev metode:

.


(8)

Če nadaljujemo s tem postopkom, dobimo znamenito Newtonovo formulo:

(9)

Tukaj je najenostavnejša rekurzivna funkcija podprograma:

funkcija X_Newt(x,eps:real):real;

y:=x-f(x)/f1(x);

če je abs(f(x)) > eps

nato X_Newt:=X_Newt(y,eps)

Za Newtonovo metodo (tangente) je značilna kvadratna stopnja konvergence, tj. Pri vsaki ponovitvi se število pravilnih znakov podvoji. Vendar ta metoda ne vodi vedno do želenega rezultata. Razmislimo o tem vprašanju podrobneje.

Pretvorimo enačbo (1) v ekvivalentno enačbo oblike:

V primeru metode tangente . Če je začetni približek korenu x=x 0 znan, potem bomo naslednji približek našli iz enačbe x 1 =g(x 0), nato pa x 2 =g(x 1),... Če nadaljujemo ta proces, dobimo rekurentno formulo metode preproste iteracije

x k+1 =g(x k) (11)

Iterativni proces se nadaljuje, dokler niso izpolnjeni pogoji (5-7).

Ali opisani računski proces vedno vodi do želene rešitve? Pod kakšnimi pogoji se bo zbližal? Da odgovorimo na ta vprašanja, se ponovno obrnemo na geometrijsko ilustracijo metode.

Koren enačbe je predstavljen s presečiščem funkcij y=x in y=g(x). Kot je razvidno iz sl. 3(a), če je pogoj izpolnjen, potem proces konvergira, sicer pa divergira (slika 3(b)).


Torej, da bi bil iterativni proces konvergenten in vodil do želenega rezultata, mora biti izpolnjen naslednji pogoj:

Prehod iz enačbe f(x)=0 v enačbo x=g(x) lahko izvedemo na različne načine. Pri tem je pomembno, da izbrana funkcija g(x) izpolnjuje pogoj (12). Na primer, če funkcijo f(x) pomnožimo s poljubno konstanto q in spremenljivko x dodamo obema stranema enačbe (1), potem je g(x)=q*f(x)+x. Izberimo konstanto q tako, da je stopnja konvergence algoritma največja. Če 1

Newtonova metoda ima visoko stopnjo konvergence, vendar ne konvergira vedno. Konvergenčni pogoj, kjer je g(x) = x – f(x)/ f’(x), je zmanjšan na zahtevo.

Pri praktičnih izračunih je pomembno izbrati začetno vrednost čim bližje želeni vrednosti in v program namestiti "varovalo zanke".

Pomanjkljivost metode je, da je treba na vsakem koraku izračunati ne le funkcijo, ampak tudi njen odvod. To ni vedno priročno. Ena od modifikacij Newtonove metode je izračun odvoda le pri prvi ponovitvi:

(13)

Druga modifikacijska metoda je zamenjava odvoda s končno razliko

(14)

Potem (15)

Geometrični pomen te spremembe v Newtonovem algoritmu je, da iz tangente pridemo do sekante. Metoda sekanta je glede hitrosti konvergence slabša od Newtonove metode, vendar ne zahteva izračuna odvoda. Upoštevajte, da se lahko začetni približki v sekantni metodi nahajajo na različnih straneh korena ali na isti strani.

Zapišimo algoritem Newtonove metode v splošni obliki.

1. Začetni približek x (0) postavimo tako, da bo pogoj izpolnjen

f(x (0))*f''(x (0))>0. (16)

Nastavite majhno pozitivno število ε kot natančnost izračunov. Nastavite k = 0.

2. Izračunajte x (k+1) z uporabo formule (9):


.

3. Če | x (k+1) - x (k) |< ε, то процесс вычисления прекратить и положить х* = x (k+1) . V nasprotnem primeru povečajte k za 1 (k = k + 1) in pojdite na 2. korak.

Ročno rešimo več nelinearnih enačb z uporabo Newtonove metode in nato primerjajmo rezultate s tistimi, ki smo jih dobili pri implementaciji programskega izdelka.

Primer 1

sin x 2 + cosx 2 - 10x. = 0.

F’(x)=2x cosx 2 - 2x sinx 2 - 10.

F’’(x)=2cosx 2 - 4x 2 sinx 2 - 2sinx 2 - 4x 2 cosx 2 = cosx 2 (2-4x 2) - sinx 2 (2+4x 2).


Sedaj pa na podlagi grafa vzemimo prvi približni koren in preverimo pogoj (16): f(x (0)) * f’’(x (0)) > 0.

Naj bo x (0) = 0,565, potem je f(0,565)*f’’(0,565) = -4. 387 * (-0,342) = 1,5 > 0,

Pogoj je izpolnjen, zato vzamemo x (0) = 0,565.

k x(k) f(x(k)) f'(x(k)) | x(k+1) - x(k) |
0 0. 565 -4. 387 -9. 982 0. 473
1 0. 092 0. 088 -9. 818 0. 009
2 0. 101 0. 000 -9. 800 0. 000
3 0. 101

Iz tega sledi, da je koren enačbe x = 0,101.

Primer 2

Rešite enačbo z Newtonovo metodo.

cos x – e -x2/2 + x - 1 = 0

Izračune je treba izvesti z natančnostjo ε = 0,001.

Izračunajmo prvi odvod funkcije.

F’(x) = 1 – sin x + x*e -x2/2.

Zdaj pa izračunajmo drugi odvod funkcije.

F''(x) = e -x2/2 *(1-x 2) - cos x.

Zgradimo približen graf te funkcije.

Sedaj pa na podlagi grafa vzemimo prvi približni koren in preverimo pogoj (16): f(x (0)) * f’’(x (0)) > 0.

Naj bo x (0) = 2, potem je f(2)*f''(2) = 0,449 * 0,010 = 0,05 > 0,

Pogoj je izpolnjen, zato vzamemo x (0) = 2.

Sedaj pa ustvarimo tabelo vrednosti za rešitev te enačbe.

k x(k) f(x(k)) f'(x(k)) | x(k+1) - x(k) |
0 2 0. 449 0. 361 1. 241
1 -0. 265 0. 881 0. 881 0. 301
2 -0. 021 0. 732 0. 732 0. 029
3 0. 000 0. 716 0. 716 0. 000
4 1. 089

Iz tega sledi, da je koren enačbe x = 1,089.

Primer 3

Rešite enačbo z Newtonovo metodo.

Izračune je treba izvesti z natančnostjo ε = 0,001.

Izračunajmo prvi odvod funkcije.

F’(x) = 2*x + e -x.

Zdaj pa izračunajmo drugi odvod funkcije.

F''(x) = 2 - e -x.

Zgradimo približen graf te funkcije.


Sedaj pa na podlagi grafa vzemimo prvi približni koren in preverimo pogoj (16): f(x (0)) * f’’(x (0)) > 0.

Naj bo x (0) = 1, potem je f(2)*f''(2) = 0. 632 * 1, 632 = 1, 031 > 0,

Sedaj pa ustvarimo tabelo vrednosti za rešitev te enačbe.

k x(k) f(x(k)) f'(x(k)) | x(k+1) - x(k) |
0 1, 000 0, 632 2, 368 0, 267
1 0, 733 0, 057 1, 946 0, 029
2 0, 704 0, 001 1, 903 0, 001
3 0, 703

Iz tega sledi, da je koren enačbe x = 0,703.

Rešite enačbo z Newtonovo metodo.

cos x –e -x/2 +x-1=0.

Izračunajmo prvi odvod funkcije.


F’(x) = -sin x + e -x/2 /2+1.

Zdaj pa izračunajmo drugi odvod funkcije.

F’’(x) = -cos x - e -x/2/4.

Zgradimo približen graf te funkcije.

Sedaj pa na podlagi grafa vzemimo prvi približni koren in preverimo pogoj (16): f(x (0)) * f’’(x (0)) > 0.

Naj bo x (0) = 1, potem je f(2)*f''(2) = -0. 066 * (-0,692) = 0,046 > 0,

Pogoj je izpolnjen, zato vzamemo x (0) = 1.

Sedaj pa ustvarimo tabelo vrednosti za rešitev te enačbe.

k x(k) f(x(k)) f'(x(k)) | x(k+1) - x(k) |
0 1, 000 -0. 066 0. 462 0. 143
1 1. 161 -0. 007 0. 372 0. 018
2 1. 162 0. 0001. 0. 363 0. 001
3 1. 162

Iz tega sledi, da je koren enačbe x = 1,162.

Primer 5

Rešite enačbo z Newtonovo metodo.

2+e x - e -x =0.

Izračunajmo prvi odvod funkcije.

F’(x) = e x +e -x.

Zdaj pa izračunajmo drugi odvod funkcije.

F''(x) = e x -e -x.

Zgradimo približen graf te funkcije.

Sedaj pa na podlagi grafa vzemimo prvi približni koren in preverimo pogoj (16): f(x (0)) * f’’(x (0)) > 0.

Naj bo x (0) = 1, potem je f(2)*f''(2) = 0. 350 * 2, 350 = 0. 823 > 0,

Pogoj je izpolnjen, zato vzamemo x (0) = 1.

Sedaj pa ustvarimo tabelo vrednosti za rešitev te enačbe.

k x(k) f(x(k)) f'(x(k)) | x(k+1) - x(k) |
0 1, 000 0, 350 3, 086 0, 114
1 0, 886 0, 013 2, 838 0, 005
2 0, 881 0, 001 2, 828 0, 000
3 0, 881

Iz tega sledi, da je koren enačbe x = 0,881.

3.1 Opis programa

Ta program je zasnovan za delo v besedilnem in grafičnem načinu. Sestavljen je iz modula Graph, Crt, treh funkcij in treh postopkov.

1. Modul Crt je zasnovan za zagotavljanje nadzora nad načini besedila na zaslonu, kodami razširjene tipkovnice, barvami, okni in zvokom;

2. Modul Graph je zasnovan za zagotavljanje nadzora nad grafičnimi objekti;

3. procedura GrafInit - inicializira grafični način;

4. funkcija VF – izračuna vrednost funkcije;

5. funkcija f1 – izračuna vrednost prvega odvoda funkcije;

6. funkcija X_Newt – implementira algoritem za reševanje enačbe po Newtonovi metodi.

7. procedura FGraf – izvaja konstrukcijo grafa dane funkcije f(x);

Ots=35 - konstanta, ki določa število točk za odmik od meja monitorja;

fmin, fmax – največja in najmanjša vrednost funkcije;

SetColor(4) – postopek, ki s pomočjo palete nastavi trenutno barvo grafičnega objekta, v tem primeru je rdeča;

SetBkColor(9) je postopek, ki nastavi trenutno barvo ozadja z uporabo palete, v tem primeru svetlo modre barve.

8. Postopek MaxMinF – izračuna največjo in najmanjšo vrednost funkcije f(x).

Premica – postopek, ki nariše premico iz točke s koordinatami (x1, y1) v točko s koordinatami (x2, y2);

MoveTo – postopek, ki premakne kazalec (CP) na točko s koordinatami (x, y);

TextColor(5) – postopek, ki nastavi trenutno barvo znakov, v tem primeru je roza;

Outtexty(x, y, 'string') – postopek, ki izpiše niz, ki se začne na položaju (x, y)

CloseGraph je postopek, ki zapre grafični sistem.

3.2 Testiranje programa

Za testiranje programa bomo vzeli primere, ki smo jih rešili v praktičnem delu dela, da primerjamo rezultate in preverimo pravilnost delovanja programa.

1) sin x 2 + cosx 2 - 10x. = 0.

Vnesite a = -1

Vnesite b=1

= [-1, 1]

(izhod funkcijskega grafa)


Dobimo: x=0,0000002

2) cos x – e -x2/2 + x - 1 = 0.

Ta program izračuna korenine nelinearne enačbe z uporabo Newtonove metode z natančnostjo eps in na segmentu nariše približen graf funkcije.

Vnesite a = -3

Vnesite b=3

= [-3, 3]

(izhod funkcijskega grafa)

Koren enačbe, ugotovljen z Newtonovo metodo:

Preverimo tako, da dobljeni odgovor nadomestimo v enačbo.

Dobimo: x=-0,0000000

3) x 2 - e -x = 0.

Ta program izračuna korenine nelinearne enačbe z uporabo Newtonove metode z natančnostjo eps in na segmentu nariše približen graf funkcije.

Vnesite a = -1

Vnesite b=1

= [-1, 1]

Vnesite natančnost izračuna eps=0. 01

(izhod funkcijskega grafa)

Koren enačbe, ugotovljen z Newtonovo metodo:

Preverimo tako, da dobljeni odgovor nadomestimo v enačbo.

Dobimo: x=0,0000000

4) cos x –e -x/2 +x-1=0.

Ta program izračuna korenine nelinearne enačbe z uporabo Newtonove metode z natančnostjo eps in na segmentu nariše približen graf funkcije.

Vnesite a = -1,5

Vnesite b=1,5

= [-1,5, 1,5 ]

Vnesite natančnost izračuna eps=0. 001

(izhod funkcijskega grafa)

Koren enačbe, ugotovljen z Newtonovo metodo:


Preverimo tako, da dobljeni odgovor nadomestimo v enačbo.

Dobimo: x=0,0008180

5) -2+e x - e -x =0.

Ta program izračuna korenine nelinearne enačbe z uporabo Newtonove metode z natančnostjo eps in na segmentu nariše približen graf funkcije.

Vnesite a = -0,9

Vnesite b=0,9

= [-0,9, 0,9]

Vnesite natančnost izračuna eps=0. 001

(izhod funkcijskega grafa)

Koren enačbe, ugotovljen z Newtonovo metodo:

Preverimo tako, da dobljeni odgovor nadomestimo v enačbo.

Cilj dela je bil ustvariti program, ki izračuna koren nelinearne enačbe po Newtonovi metodi. Na podlagi tega lahko sklepamo, da je bil cilj dosežen, saj so bile za njegovo izvedbo rešene naslednje naloge:

1. Preučena je bila potrebna literatura.

2. Pregledane so obstoječe metode za reševanje nelinearnih enačb.

3. Preučevali smo Newtonovo metodo za reševanje nelinearnih enačb.

4. Rešitev nelinearnih enačb z Newtonovo metodo obravnavamo na primeru.

5. Program je bil testiran in odpravljene napake.

Seznam uporabljene literature

1. B.P. Demidovič, I.A. Maron. Osnove računalniške matematike. – Moskva, ur. "Znanost"; 1970.

2. V.M. Verzhbitsky. Numerične metode (linearna algebra in nelinearne enačbe). – Moskva, “Višja šola”; 2000.

3. N.S.Bakhvalov, A.V.Lapin, E.V.Chizhonkov. Numerične metode v problemih in vajah. – Moskva, “Višja šola”; 2000.

4. Matthews, John, G., Fink, Curtis, D. Numerične metode MATLAB, 3. izdaja - Moskva, “Villas”; 2001.

Newtonova metoda (tangentna metoda)

Naj bo koren enačbe f(x)=0 ločen na segmentu s prvim in drugim odvodom f’(x) in f""(x) so zvezni in imajo konstanten predznak za xÎ.

Recimo, da je v nekem koraku prečiščevanja korena dobljen (izbran) naslednji približek korenu x n . Nato predpostavimo, da je naslednji približek, dobljen s popravkom h n , vodi do točne vrednosti korena

x = xn + hn. (1.2.3-6)

Štetje h n majhna vrednost, predstavimo f(х n + h n) v obliki Taylorjevega niza, pri čemer se omejimo na linearne člene

f(x n + h n) »f(x n) + h n f’(x n). (1.2.3-7)

Če upoštevamo, da je f(x) = f(x n + h n) = 0, dobimo f(x n) + h n f ’(x n) » 0.

Zato je h n » - f(x n)/ f’(x n). Zamenjajmo vrednost h n v (1.2.3-6) in namesto točne vrednosti korena x dobimo še en približek

Formula (1.2.3-8) nam omogoča, da dobimo zaporedje približkov x 1, x 2, x 3 ..., ki pod določenimi pogoji konvergira k natančni vrednosti korena x, to je

Geometrična interpretacija Newtonove metode je naslednji
(Slika 1.2.3-6). Vzemimo desni konec odseka b kot začetni približek x 0 in zgradimo tangento v pripadajoči točki B 0 na grafu funkcije y = f(x). Točka presečišča tangente z osjo x se vzame kot nov, natančnejši približek x 1. Večkratna ponovitev tega postopka nam omogoča, da dobimo zaporedje približkov x 0, x 1, x 2 , . . ., ki teži k natančni vrednosti korena x.

Izračunsko formulo Newtonove metode (1.2.3-8) lahko dobimo iz geometrijske konstrukcije. Torej v pravokotnem trikotniku x 0 B 0 x 1 krak
x 0 x 1 = x 0 V 0 /tga. Ob upoštevanju, da je točka B 0 na grafu funkcije f(x), in hipotenuzo tvori tangenta na graf f(x) v točki B 0, dobimo

(1.2.3-9)

(1.2.3-10)

Ta formula sovpada z (1.2.3-8) za n-ti približek.

Iz slike 1.2.3-6 je razvidno, da lahko izbira točke a kot začetnega približka vodi do dejstva, da bo naslednji približek x 1 izven segmenta, na katerem je ločen koren x. V tem primeru konvergenca procesa ni zagotovljena. V splošnem primeru je izbira začetnega približka izvedena v skladu z naslednjim pravilom: začetni približek je treba vzeti kot točko x 0 О, pri kateri je f(x 0)×f''(x 0)>0 , to pomeni, da se znaki funkcije in njenega drugega odvoda ujemata.

Pogoji za konvergenco Newtonove metode so formulirani v naslednjem izreku.

Če je koren enačbe ločen na segmentu, in f’(x 0) in f’’(x) so različni od nič in obdržijo svoje predznake xO, potem če izberemo takšno točko kot začetni približek x 0 O , kaj f(x 0).f¢¢(x 0)>0 , potem koren enačbe f(x)=0 se lahko izračuna s poljubno stopnjo natančnosti.

Ocena napake Newtonove metode je določena z naslednjim izrazom:

(1.2.3-11)

kje je najmanjša vrednost pri

Najvišja vrednost pri

Postopek izračuna se ustavi, če ,

kjer je določena natančnost.

Poleg tega lahko naslednji izrazi služijo kot pogoj za doseganje dane natančnosti pri prečiščevanju korena z uporabo Newtonove metode:

Diagram algoritma Newtonove metode je prikazan na sl. 1.2.3-7.

Leva stran izvirne enačbe f(x) in njen derivat f’(x) v algoritmu sta zasnovana kot ločena programska modula.

riž. 1.2.3-7. Diagram algoritma Newtonove metode

Primer 1.2.3-3 Izboljšajte korene enačbe x-ln(x+2) = 0 z uporabo Newtonove metode, pod pogojem, da so koreni te enačbe ločeni na segmentih x 1 О[-1,9;-1,1] in x 2 О [-0,9;2 ].

Prvi odvod f’(x) = 1 – 1/(x+2) ohrani svoj predznak na vsakem segmentu:

f'(x)<0 при хÎ [-1.9; -1.1],

f’(x)>0 pri xО [-0,9; 2].

Drugi odvod f"(x) = 1/(x+2) 2 > 0 za kateri koli x.

Tako so konvergenčni pogoji izpolnjeni. Ker je f""(x)>0 v celotnem obsegu dovoljenih vrednosti, potem za pojasnitev korena začetnega približka x 1 izberite x 0 = -1,9 (ker f(-1,9)×f”(-1,9)>0). Dobimo zaporedje približkov:

Z nadaljevanjem izračunov dobimo naslednje zaporedje prvih štirih približkov: -1,9; –1,8552, -1,8421; -1,8414 . Vrednost funkcije f(x) v točki x=-1,8414 je enaka f(-1,8414)=-0,00003 .

Za razjasnitev korena x 2 О[-0,9;2] izberemo 0 =2 (f(2)×f”(2)>0) kot začetni približek. Na osnovi x 0 = 2 dobimo zaporedje približkov: 2,0;1,1817; 1,1462; 1,1461. Vrednost funkcije f(x) v točki x=1,1461 je enaka f(1,1461)= -0,00006.

Newtonova metoda ima visoko stopnjo konvergence, vendar na vsakem koraku zahteva izračun ne le vrednosti funkcije, ampak tudi njenega derivata.

Metoda akordov

Geometrična interpretacija metode tetiv je naslednji
(Slika 1.2.3-8).

Narišimo odsek skozi točki A in B. Naslednji približek x 1 je abscisa točke presečišča tetive z osjo 0x. Sestavimo enačbo ravne črte:

Postavimo y=0 in poiščemo vrednost x=x 1 (naslednji približek):

Ponovimo postopek izračuna, da dobimo naslednji približek korenu - x 2 :

V našem primeru (slika 1.2.11) in formula za izračun metode akordov bo imela obliko

Ta formula je veljavna, če je točka b vzeta kot fiksna točka, točka a pa deluje kot začetni približek.

Oglejmo si še en primer (sl. 1.2.3-9), ko .

Enačba premice za ta primer ima obliko

Naslednji približek x 1 pri y = 0

Potem ima ponavljajoča se formula metode akordov za ta primer obliko

Upoštevati je treba, da je fiksna točka v metodi tetive izbrana kot konec segmenta, za katerega je izpolnjen pogoj f (x)∙f¢¢ (x)>0.

Torej, če točko a vzamemo kot fiksno točko , potem x 0 = b deluje kot začetni približek in obratno.

Zadostni pogoji, ki zagotavljajo izračun korena enačbe f(x) = 0 s tetivno formulo, bodo enaki kot pri metodi tangente (Newtonova metoda), le da je namesto začetnega približka izbrana fiksna točka. Metoda akordov je modifikacija Newtonove metode. Razlika je v tem, da je naslednji približek v Newtonovi metodi točka presečišča tangente z osjo 0X, pri metodi tetive - točka presečišča tetive z osjo 0X - se približki konvergirajo k korenu z različnih strani. .

Ocena napake za metodo tetiv je podana z izrazom

(1.2.3-15)

Pogoj za zaključek iteracijskega procesa z metodo akordov

(1.2.3-16)

V primeru M1<2m 1 , то для оценки погрешности метода может быть использована формула | x n -x n -1 |£e.

Primer 1.2.3-4. Pojasnite koren enačbe e x – 3x = 0, ločen na segmentu z natančnostjo 10 -4.

Preverimo konvergenčni pogoj:

Posledično je treba a=0 izbrati kot fiksno točko, x 0 =1 pa vzeti kot začetni približek, ker je f(0)=1>0 in f(0)*f"(0)>0.



Vam je bil članek všeč? Delite s prijatelji!