Niutono netiesinių lygčių sistema. Kursinis darbas: Niutono metodas netiesinėms lygtims spręsti

Niutono metodas (tangentinis metodas)

Tegul lygties f(x)=0 šaknis atskiriama atkarpoje , su pirmąja ir antrąja išvestinėmis f’(x) ir f""(x) yra ištisiniai ir pastovaus ženklo xÎ.

Tarkime, kad tam tikru šaknies tikslinimo žingsniu gaunamas kitas šaknies x n artėjimas (pasirinktas) . Tada tarkime, kad kita aproksimacija, gauta naudojant pataisą h n , veda prie tikslios šaknies vertės

x = xn + hn. (1.2.3–6)

Skaičiavimas h n maža reikšmė, mes atstovaujame f(х n + h n) Taylor serijos forma, apsiribodami tiesiniais terminais

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

Atsižvelgiant į tai, kad f(x) = f(x n + h n) = 0, gauname f(x n) + h n f ’(x n) » 0.

Taigi h n » - f(x n)/ f’(x n). Pakeiskime vertę h n in (1.2.3-6) ir vietoj tikslios šaknies reikšmės x gauname kitą aproksimaciją

Formulė (1.2.3-8) leidžia gauti aproksimacijų seką x 1, x 2, x 3 ..., kuri tam tikromis sąlygomis konverguoja į tikslią šaknies reikšmę x, tai yra

Geometrinė Niutono metodo interpretacija yra taip
(1.2.3-6 pav.). Paimkime dešinįjį atkarpos b galą kaip pradinį aproksimaciją x 0 ir funkcijos y = f(x) grafike atitinkamame taške B 0 sukursime liestinę. Liestinės ir x ašies susikirtimo taškas imamas kaip naujas, tikslesnis aproksimacija x 1. Kartodami šią procedūrą daug kartų, galime gauti aproksimacijų seką x 0, x 1, x 2 , . . ., kuri atitinka tikslią šaknies reikšmę x.

Niutono metodo skaičiavimo formulę (1.2.3-8) galima gauti iš geometrinės konstrukcijos. Taigi stačiakampiame trikampyje x 0 B 0 x 1 kojelė
x 0 x 1 = x 0 V 0 /tga. Atsižvelgiant į tai, kad taškas B 0 yra funkcijos grafike f(x), o hipotenuzą sudaro grafiko f(x) liestinė taške B 0, gauname

(1.2.3-9)

(1.2.3-10)

Ši formulė sutampa su (1.2.3-8) n-ajam aproksimavimui.

Iš 1.2.3-6 pav. aišku, kad pasirinkus tašką a kaip pradinį aproksimaciją, kita aproksimacija x 1 bus už atkarpos, nuo kurios atskirta šaknis. x. Tokiu atveju proceso konvergencija negarantuojama. Bendruoju atveju pradinis aproksimavimas pasirenkamas pagal tokią taisyklę: pradinė aproksimacija turi būti laikoma tašku x 0 О, kuriame f(x 0)×f''(x 0)>0 , tai yra, funkcijos ir jos antrosios išvestinės ženklai sutampa.

Niutono metodo konvergencijos sąlygos suformuluotos sekančioje teoremoje.

Jei atkarpoje atskirta lygties šaknis, ir f’(x 0) ir f’’(x) skiriasi nuo nulio ir išlaiko savo ženklus, kai, tada, jei tokį tašką pasirinksime kaip pradinį aproksimaciją x 0 О , Ką f(x 0).f¢¢(x 0)>0 , tada lygties šaknis f(x)=0 galima apskaičiuoti bet kokiu tikslumu.

Niutono metodo paklaidos įvertinimas nustatomas pagal šią išraišką:

(1.2.3-11)

kur yra mažiausia vertė adresu

Aukščiausia vertė adresu

Skaičiavimo procesas sustoja, jei ,

kur nurodytas tikslumas.

Be to, šios išraiškos gali būti naudojamos kaip sąlyga tam, kad būtų pasiektas nurodytas tikslumas tikslinant šaknį naudojant Niutono metodą:

Niutono metodo algoritmo schema parodyta fig. 1.2.3-7.

Kairioji pradinės lygties f(x) pusė ir jos išvestinė f’(x) algoritme yra suprojektuoti kaip atskiri programinės įrangos moduliai.

Ryžiai. 1.2.3-7. Niutono metodo algoritmo diagrama

1.2.3-3 pavyzdys Patikslinkite lygties x-ln(x+2) = 0 šaknis, naudodami Niutono metodą, su sąlyga, kad šios lygties šaknys atskirtos atkarpose x 1 О[-1.9;-1.1] ir. x 2 О [-0,9;2 ].

Pirmoji išvestinė f’(x) = 1 – 1/(x+2) išlaiko savo ženklą kiekviename iš segmentų:

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

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

Antroji išvestinė f"(x) = 1/(x+2) 2 > 0 bet kuriam x.

Taigi konvergencijos sąlygos tenkinamos. Kadangi f""(x)>0 visame leistinų verčių diapazone, tada norint išsiaiškinti pradinio aproksimavimo šaknį x 1 pasirinkite x 0 = -1,9 (nes f(-1,9) × f"(-1,9)>0). Gauname aproksimacijų seką:

Tęsdami skaičiavimus, gauname tokią pirmųjų keturių aproksimacijų seką: -1,9; –1,8552, -1,8421; -1,8414 . Funkcijos f(x) reikšmė taške x=-1,8414 yra lygi f(-1,8414)=-0,00003 .

Norėdami paaiškinti šaknį x 2 О[-0.9;2], kaip pradinį aproksimaciją pasirenkame 0 =2 (f(2)×f”(2)>0). Remdamiesi x 0 = 2, gauname aproksimacijų seką: 2,0;1,1817; 1,1462; 1.1461. Funkcijos f(x) reikšmė taške x=1,1461 lygi f(1,1461)= -0,00006.

Niutono metodas turi aukštą konvergencijos greitį, tačiau kiekviename žingsnyje reikia skaičiuoti ne tik funkcijos reikšmę, bet ir jos išvestinę.

Akordo metodas

Akordo metodo geometrinė interpretacija yra taip
(1.2.3-8 pav.).

Nubrėžkime linijos atkarpą per taškus A ir B. Kitas aproksimacija x 1 yra stygos susikirtimo su 0x ašimi taško abscisė. Sukurkime tiesios atkarpos lygtį:

Nustatykime y=0 ir raskime reikšmę x=x 1 (kita apytikslė vertė):

Pakartokime skaičiavimo procesą, kad gautume kitą aproksimaciją iki šaknies - x 2 :

Mūsų atveju (1.2.11 pav.) o akordo metodo skaičiavimo formulė turės formą

Ši formulė galioja, kai taškas b laikomas fiksuotu tašku, o taškas a veikia kaip pradinis aproksimacija.

Panagrinėkime kitą atvejį (1.2.3-9 pav.), kai .

Tiesios linijos lygtis šiuo atveju turi formą

Kitas aproksimacija x 1, kai y = 0

Tada pasikartojanti akordo metodo formulė šiuo atveju turi formą

Pažymėtina, kad stygos metodu fiksuotasis taškas pasirenkamas kaip atkarpos, kuriai tenkinama sąlyga f (x)∙f¢¢ (x)>0, pabaiga.

Taigi, jei taškas a laikomas fiksuotu tašku , tada x 0 = b veikia kaip pradinė aproksimacija, ir atvirkščiai.

Pakankamos sąlygos, užtikrinančios lygties f(x) = 0 šaknies apskaičiavimą naudojant stygos formulę, bus tokios pat kaip ir tangentiniam metodui (Niutono metodas), tik vietoj pradinės aproksimacijos pasirenkamas fiksuotas taškas. Akordo metodas yra Niutono metodo modifikacija. Skirtumas tas, kad kitas Niutono metodo aproksimavimas yra liestinės susikirtimo su 0X ašimi taškas, o stygos metodu - stygos susikirtimo taškas su 0X ašimi - aproksimacijos suartėja su šaknimi iš skirtingų pusių. .

Akordo metodo paklaidos įvertinimas pateikiamas išraiška

(1.2.3-15)

Iteracijos proceso, naudojant akordo metodą, pabaigos sąlyga

(1.2.3-16)

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

1.2.3-4 pavyzdys. Išsiaiškinkite lygties šaknį e x – 3x = 0, atskirtą atkarpoje 10 -4 tikslumu.

Patikrinkime konvergencijos sąlygą:

Todėl a=0 turėtų būti pasirinktas kaip fiksuotas taškas, o x 0 =1 turėtų būti imtasi kaip pradinė aproksimacija, nes f(0)=1>0 ir f(0)*f"(0)>0.

Netiesinių lygčių sprendimas Niutono metodu

Norint išspręsti elektros energijos problemas, yra keletas metodo modifikacijų. Jie leidžia padidinti iteracinio proceso konvergencijos greitį ir sumažinti skaičiavimo laiką.

Pagrindai orumą metodas - jis turi greitą konvergenciją.

Metodo idėja susideda iš nuoseklaus pakeitimo kiekvienoje pradinės netiesinės lygčių sistemos skaičiavimo iteracijoje su kokia nors pagalbine tiesine lygčių sistema, kurios sprendimas leidžia gauti kitą nežinomųjų aproksimaciją, arčiau norimo sprendimo ( linearizacija).

Panagrinėkime netiesinę lygtį bendra forma:

Reikalingas lygties sprendimas yra taškas, kuriame kreivė kerta x ašį.

Mes nustatome pradinį nežinomojo aproksimaciją x(0). Šiame taške nustatykite funkcijos reikšmę w(x(0)) ir nubrėžkite kreivės liestinę taške B. Šios liestinės susikirtimo su x ašimi taškas nustato kitą nežinomojo aproksimaciją x (1) ir tt

Išplėskime (1) lygtį į Teiloro eilutę šalia taško x(0). Panagrinėkime išplėtimo terminus, kuriuose yra tik 1 išvestinė:

(2)

x – x (0) = Δx- pakeitimas į nežinomybę. Jei mes jį apibrėžiame, galime nustatyti kitą aproksimaciją.

Iš (2) nustatome pataisą (3)

Tada toks apytikslis skaičiavimas: (5)

Panašiai gauname Į-e apytiksliai:

Tai pasikartojanti Niutono metodo formulė netiesinėms lygtims spręsti. Tai leidžia jums nustatyti kitus nežinomųjų aproksimaciją.

(6) formulę galima gauti kitu būdu iš paveikslo:

Iteracinis procesas susilieja, jei jis mažėja ir artėja 0 . Rezultatas pasiekiamas, jei.

Komentaras apie geometrinę interpretaciją

Iteracinis metodo žingsnis sumažinamas iki kreivės pakeitimo tiesia linija, kurią apibūdina kairėje (2) lygties pusėje. Ji yra taške esančios kreivės liestinė. Šis procesas vadinamas linearizacija. Kreivės liestinės susikirtimo taškas su ašimi X pateikia dar vieną nežinomybės apytikslę reikšmę. Todėl šis metodas vadinamas tangentinis metodas.



Pavyzdys:

Pavyzdys:

Norint šiuo metodu nustatyti visas netiesinės lygties šaknis, būtina bet kokiu būdu nustatyti apytikslisšių šaknų vietą ir šalia jų nustatykite pradines apytiksles.

Paprastas būdas nustatyti vietą, kurioje yra šaknys lentelės sudarymas.

Niutono iteracijos procesas nesusilieja, jei pradiniai aproksimacijos parinkti taip, kad:

Procesas arba nesusilieja, arba susilieja labai prastai.

Niutono-Rafsono metodas SNAU sprendimui

Raphsonas parodė, kad Niutono iteracinis metodas pasiūlė išspręsti vienas netiesinis lygtys, gali būti naudojamas išspręsti sistemos netiesines lygtis.

Tuo pačiu, norint išspręsti netiesinių lygčių sistemas, vietoj vieno nežinomo reikia atsižvelgti į aibę (vektorių) nežinomas:

vietoj vienos liekamosios lygties svarstome likučių vektorius sistemos lygtys:

Viena išvestinė (6) pakeičiama išvestinių matrica. Dalybos operacija (6) pakeičiama daugyba iš atvirkščiai išvestinių matrica. Šiuo atveju Niutono-Rafsono metodas skiriasi nuo Niutono metodo perėjimu nuo vienmatės problemos prie daugiamatis.

Panagrinėkime realių netiesinių algebrinių lygčių sistemą:

(7)

Jis gali būti parašytas matricos forma:

Kur X= x 2 – vektorius – nežinomųjų stulpelis;

w 1 (x 1, x 2, ... x n)

W = w 2 (x 1, x 2, ... x n) – vektorinė funkcija.

w n (x 1, x 2, ... x n)

Leiskite - pradiniai nežinomųjų aproksimacijos. Išplėskime kiekvieną sistemos (7) lygtį į Teiloro eilutę, esančią šalia taško X (0), tai yra, atliksime apytikslį pradinių netiesinių lygčių pakeitimą tiesinėmis, kuriose išsaugoma tik 1-oji išvestinė (tiesinė). Dėl to lygčių sistema (7) įgyja tokią formą:

(9)

Kaip rezultatas, mes gavome tiesinių lygčių sistema(tiesinė sistema), kurioje nežinomieji yra pataisymai. Šios sistemos nežinomųjų koeficientai yra pirmosios lygčių išvestinės w j pradinės netiesinės sistemos visiems nežinomiesiems Xi.. Jie sudaro koeficientų matricą - Jacobi matrica:

=

Kiekviena matricos eilutė susideda iš pirmųjų kitos netiesinės sistemos lygties išvestinių visų nežinomųjų atžvilgiu.

Parašykime tiesinę sistemą (9) matricos forma:

(10)

Čia yra pradinės sistemos lygčių likučių vektorius. Jos elementai gaunami nuoseklius nežinomųjų aproksimacijas pakeičiant į netiesinės sistemos lygtis;

- Jakobijos matrica. Jos elementai yra pirmosios dalinės visų pirminės sistemos lygčių išvestinės visų nežinomųjų atžvilgiu;

- korekcijos vektoriusį norimus nežinomus. Kiekvienoje iteracijoje galima parašyti:

Sistema (10), atsižvelgiant į priimtą žymėjimą, gali būti rašoma:

(12)

Ši sistema linijinis dėl pataisų ΔХ (k).

Sistema (13) yra tiesinė lygčių sistema, pakeičianti pradinį SNAU kiekviename iteracinio proceso etape.

Sistema (13) išspręsta bet kuriuo žinomu metodu, todėl randame korekcijos vektorių . Tada iš (11) galime rasti tolesni požiūriai nežinomas:

Tai. kas pasikartojantis žingsnis procesas susideda iš tiesinės sistemos (13) sprendimo ir kitos aproksimacijos iš (14) nustatymo.

Iš (11) ir (12) galime gauti bendrąjį pasikartojimo formulė(matricos pavidalu), atitinkantis Niutono–Rafsono metodą:

(15)

Jo struktūra atitinka (6) formulę.

Praktiniuose skaičiavimuose naudojama (15) formulė retai, nes čia reikia apversti Jakobijos matricą (didelės dimensijos) kiekvienoje skaičiavimų iteracijoje. Realiuose skaičiavimuose pataisos nustatomos sprendžiant tiesinę sistemą (13).

Užbaigimo kontrolė Iteracinį procesą atliekame naudodami likučių vektorių:

Ši sąlyga turi būti įvykdyta likučiams visi sistemos lygtys.

Algoritmas SNAU sprendimui naudojant Niutono-Rafsono metodą

1. Pradinių nežinomųjų aproksimacijų vektoriaus nurodymas.

Skaičiavimo tikslumo nustatymas є , kiti skaičiavimo parametrai

2. Netiesinių lygčių likučių aproksimacijos taške nustatymas;

2.3. Jakobinės matricos elementų nustatymas kito nežinomųjų aproksimacijos taške;

2.4. Tiesinės sistemos (13) sprendimas bet kokiu žinomu būdu. Nežinomų pataisų nustatymas.

2.5. Kito nežinomųjų aproksimavimo nustatymas pagal (14).

2.6. Iteracijos proceso užbaigimo stebėjimas pagal (16). Jei sąlyga neįvykdyta, grįžkite į 2 veiksmą.

Pavyzdys:

Išspręskite SLAE naudodami Newton-Raphson metodą:

(sprendimas X 1 = X 2 = 2)

Parašykime lygtis likučių pavidalu:

Mes apibrėžiame Jakobijos matricos elementus:

Jakobijos matrica:

Įdiegkime Newton-Raphson metodo algoritmą:

1) Pirma iteracija:

Pradiniai aproksimacijos

Likučiai

Jakobijos matrica:

Tiesinė lygčių sistema:

1 apytikslis nežinomųjų skaičius:

2) Antroji iteracija

3) Trečias pakartojimas:

… ……… …… …… …… ……..

Pastovios būsenos lygčių sistemų sprendimas Niutono-Rafsono metodu

Netiesinė pastovios būsenos lygtis t-ojo mazgo galios balanso forma yra tokia:

(17)

Tai lygtis su sudėtingais nežinomaisiais ir koeficientais. Kad tokios (17) formos lygtys buvo galima nuspręsti naudojant Niutono-Rafsono metodą, jie transformuojami: atskiriamos tikrosios ir menamos dalys. Dėl to kiekviena sudėtinga (17) formos lygtis suskaidoma į dvi realias lygtis, atitinkančias aktyviosios ir reaktyviosios galios balansą mazge:

Čia yra nurodytos galios mazge;

Nežinomi įtampos komponentai mazguose. Jie reikalingi

nustatytas apskaičiavimo rezultatas.

Dešinėje (18) lygčių pusėje yra apskaičiuota bendra srautų galia šakose, artėjančiose prie mazgo.

Parašykime šias lygtis (18) į formą likučiai:

(19) lygčių likučiai atitinka apskaičiuotą disbalansas aktyvioji ir reaktyvioji galia mazge.

Likučiai apibūdina mazgo režimą і ir yra netiesinės nežinomų įtampų mazguose funkcijos. Būtina, kad -> 0.

Sistemą išspręsime Niutono-Rafsono metodu 2n(19) formos lygtys, tai yra, norint išspręsti elektros tinklo pastovios būsenos apskaičiavimo, naudojant Niutono-Rafsono metodą, problemą, jums reikia:

1) suformuoti sistemą 2n(19) formos lygtys visiems elektros tinklo mazgams, išskyrus balansuojančius;

2) organizuoti iteracinį Niutono-Rafsono metodo procesą

išspręsti šią lygčių sistemą. Dėl sprendimo

mazguose gauname reikiamus įtempių komponentus.

Parašykime šią lygčių sistemą bendra forma:

(20)

Gavome 2 netiesinę sistemą liekamosios lygtys su 2 nežinomaisiais, kurie. Jame nežinomi komponentai yra įtampos komponentai – moduliai ir kampai.

Norėdami išspręsti sistemą (20) naudodami Niutono-Rafsono metodą, turite parašyti pagalbinis Linearizuota (13) formos lygčių sistema, kurią išspręsdami kiekvienoje iteracijoje nustatome nežinomųjų pataisas:

(21)

Atsižvelgiant į priimtą žymėjimą, sistemą (21) galima parašyti:

(22)

kur yra Jacobi matrica, jos elementai yra dalinės sistemos (20) lygčių išvestinės visų nežinomųjų – įtempių komponentų atžvilgiu

Sistemos (20) lygčių liekanų vektorius. Jų reikšmės gaunamos pakeičiant nuoseklias nežinomųjų aproksimacijas į lygtis;

Nežinomų pataisų vektorius:

; ΔӨ i = Ө i (k+1) – Ө i (k), ΔU i = U i (k+1) - U i (k) .

Jakobijos matricos elementams nustatyti naudojame analitinė diferenciacija, t.y. Kiekvieną sistemos (20) lygtį išskiriame pagal reikiamus dydžius – kampus ir įtempių modulius. Norėdami sudaryti Jakobijos matricą, turite gauti šių išvestinių analitines išraiškas rūšių:

1) Likutinės lygties, skirtos to paties mazgo aktyviosios galios to paties mazgo įtampos kampui, išvestinė: ;

2) Likutinės lygties, skirtos t-ojo mazgo aktyviosios galios gretimo kampo įtampos kampo atžvilgiu, išvestinė. j- mazgas: ;

3) Išvestinė iš to paties mazgo aktyviosios galios likutinės modulio to paties mazgo įtampai: ;

4) Išvestinė iš t-ojo mazgo aktyviosios galios likutinės modulio gretimo mazgo įtampai: ;

Panašiai nustatomi dar keturi išvestinių tipai - dariniai iš visų nežinomųjų mazgo reaktyviosios galios likučio lygčių:

5) ; 6) ; 7) ; 8) .

Atsižvelgiant į šias išvestines, Jacobi matricą galima parašyti bendra forma:

(23)

Apibrėžkime analitinės išraiškos išvestinėms, diferencijuojant sistemos (20) lygtis nežinomų dydžių atžvilgiu. Jie atrodo taip:

(24)

Jakobijos matrica bendruoju atveju tai kvadratinė matrica, simetriška, kurios matmuo , jos elementai yra dalinės lygčių likučių (galios disbalanso) išvestinės visų nežinomųjų atžvilgiu.

Jei mazgai nėra tarpusavyje sujungti, tada atitinkamos matricos išvestinės Jakobijos matricos, esančios už įstrižainės ribų, bus lygios nuliui (panašiai kaip laidumo matrica) - nes atitinkamose formulėse (24) tarpusavio laidumas y ij yra veiksnys ir. y ij =0.

Kiekviena matricos eilutė yra kitos sistemos (20) lygties išvestinės.

Specialių mazgų buvimas modeliuotoje tinklo schemoje (atraminiai ir balansiniai mazgai, FM mazgai) turi įtakos struktūra pastovios būsenos lygčių sistema ir Jakobijos matricos struktūra:

1. Mazgams su modulio tvirtinimasįtampos (FM), kuriose duotieji ir nežinomieji yra ir , iš Jakobijos matricos neįtraukti darinių eilutė (nuo Qi nenurodyta, tada negalima sudaryti reaktyviosios galios balanso lygties (18), (19) ir išvestinių stulpelį (nuo įtampos modulio Uižinomas ir jis išbraukiamas iš nežinomųjų sąrašo).

2. Atraminiams ir balansavimo mazgams atitinkamos matricos eilutės ir stulpeliai neįtraukiami;

3. Jei mazgai nėra tiesiogiai sujungti, atitinkamos išvestinės matricoje yra lygios nuliui.

Jakobijos matricą galima suskirstyti į keturias blokas:

1) - disbalanso lygčių išvestinės aktyvus galia (20) pagal kampus stresas;

2) - disbalanso lygčių išvestinės aktyvus galia pagal moduliai stresas;

3) - disbalanso lygčių išvestinės reaktyvus galia (20) pagal kampus stresas;

4) - disbalanso lygčių išvestinės reaktyvus galia pagal moduliai streso.

Tai aktyviųjų ir reaktyviųjų galių disbalanso nežinomais kampais ir įtampos modulių dalinių darinių matriciniai elementai. Apskritai tai yra kvadratinės matmenų matricos n × n.

Atsižvelgiant į tai, Jakobijos matrica gali būti pavaizduota kaip blokas matricos:

Kur nežinomų dydžių subvektorius.

Atsižvelgiant į tai, tiesinė lygčių sistema (22) gali būti parašyta tokia forma:

. (25)

Šios tiesinės lygčių sistemos sprendimas (bet kokiu žinomu metodu) ant

Kiekvienai metodo iteracijai randame nežinomųjų pataisymus, o tada

reguliarus artėjant nežinomas:

(26)

Kitą nežinomųjų aproksimaciją taip pat galima gauti naudojant iteracijos formulė Niutono-Rafsono metodas, panašus į (15):

- · (27)

Tam reikia kiekvienos iteracijos metu apversti Jakobijos matricą – tai sudėtinga skaičiavimo operacija.

Algoritmas sprendžiant pastovios būsenos lygčių sistemas Niutono-Rafsono metodu

1. Nežinomų įtampų pradinių verčių nustatymas. Pradiniais aproksimais priimame: , t.y. vardinės mazgų įtampos;

2. Skaičiavimo sąlygų nustatymas: tikslumas ε , maksimalus pakartojimų skaičius, greitėjimo koeficientai ir kt.

3. Lygčių liekanų nustatymas pagal (20) lygtis su nuosekliais nežinomųjų aproksimais;

4. Jacobi matricos elementų nustatymas pagal (24) su nuosekliais nežinomųjų aproksimais;

5. Tiesinės lygčių sistemos (25) sprendimas ir nežinomųjų pataisų nustatymas;

6. Kitų nežinomųjų aproksimacijų nustatymas pagal (26);

7. Iteracijos proceso užbaigimo tikrinimas:

Likutinės visų mazgų lygčių vertės turi būti mažesnės už nurodytą tikslumą.

Jei sąlyga neįvykdyta, grįžkite į 3 punktą ir pakartokite skaičiavimą su naujais nežinomųjų apytiksliais skaičiavimais.

Yra skaičius Niutono-Rafsono metodo modifikacijos.Įskaitant:

1. Modifikuotas Niutono-Rafsono metodas.

Jakobijos matrica apskaičiuojama vieną kartą pradinėms nežinomųjų reikšmėms. Vėlesnėse iteracijose jis priimamas pastovus. Tai žymiai sumažina skaičiavimo skaičių kiekvienos iteracijos metu, tačiau padidina iteracijų skaičių.

2. Padalintas Niutono-Rafsono metodas.

Formos dariniai yra labai maži ir į jų reikšmes galima nepaisyti. Dėl to Jakobijos matricoje lieka du blokai - 1-asis ir 4-asis bei sistema (25), susidedanti iš lygčių. suyraį dvi nepriklausomas dimensijų sistemas . Kiekviena iš šių sistemų sprendžiama atskirai nuo kitų. Dėl to sumažėja skaičiavimų ir reikalingos kompiuterio atminties kiekis.

Pavyzdžiui:

Nustatykime užduotį surasti galiojašios lygties šaknis.

Ir jų tikrai yra! – iš straipsnių apie funkcijų grafikai Ir aukštosios matematikos lygtys Jūs puikiai žinote, koks yra tvarkaraštis daugianario funkcija nelyginis laipsnis kerta ašį bent kartą, todėl mūsų lygtis turi bent jau viena tikra šaknis. Vienas. Arba du. Arba trys.

Pirmiausia reikia patikrinti prieinamumą racionalusšaknys. Pagal atitinkama teorema, tik skaičiai 1, –1, 3, –3 gali pretenduoti į šį „titulą“, o tiesioginiu pakeitimu nesunku įsitikinti, kad nė vienas iš jų „netinka“. Taigi neracionalios vertybės išlieka. Galima rasti 3 laipsnio daugianario iracionaliąją šaknį (-es). tiksliai (išreikšti per radikalus) naudojant vadinamąjį Cardano formulės Tačiau šis metodas yra gana sudėtingas. Tačiau 5-ojo ir aukštesnio laipsnio daugianariams apskritai nėra bendro analizės metodo, be to, praktikoje yra daug kitų lygčių, kuriose tikslios vertės neįmanoma gauti tikrų šaknų (nors jos egzistuoja).

Tačiau taikomuose (pavyzdžiui, inžinerija) problemų, daugiau nei priimtina naudoti apskaičiuotas apytiksles vertes su tam tikru tikslumu.

Nustatykime savo pavyzdžio tikslumą. Ką tai reiškia? Tai reiškia, kad turime rasti TOKIĄ apytikslę šaknies reikšmę (šaknys) kuriame mes garantuojame, kad klysime ne daugiau kaip 0,001 (viena tūkstantoji dalis) .

Visiškai aišku, kad sprendimas negali būti pradėtas „atsitiktinai“, todėl pirmame žingsnyje šaknys atskiras. Atskirti šaknį reiškia rasti pakankamai mažą (dažniausiai vieną) segmentą, kuriam priklauso ši šaknis ir ant kurio nėra kitų šaknų. Paprasčiausias ir prieinamiausias grafinis šaknų atskyrimo metodas. Pastatykime taškas po taško funkcijos grafikas :

Iš brėžinio matyti, kad lygtis, matyt, turi vieną realią šaknį, priklausančią segmentui. Šio intervalo pabaigoje funkcija paima skirtingų ženklų reikšmes: , ir iš fakto funkcijos tęstinumas segmente Iš karto matomas elementarus šaknies patikslinimo būdas: intervalą padalijame per pusę ir pasirenkame segmentą, kurio galuose funkcija įgauna skirtingus ženklus. Šiuo atveju akivaizdu, kad tai segmentas. Gautą intervalą padalijame per pusę ir vėl pasirenkame segmentą „skirtingas ženklas“. Ir taip toliau. Tokie nuoseklūs veiksmai vadinami iteracijos. Tokiu atveju jie turėtų būti atliekami tol, kol atkarpos ilgis tampa mažesnis nei dvigubai didesnis už skaičiavimo tikslumą, o paskutinio „skirtingo ženklo“ segmento vidurys turėtų būti pasirinktas kaip apytikslė šaknies reikšmė.

Nagrinėjama schema gavo natūralų pavadinimą - pusiau padalijimo metodas. Ir šio metodo trūkumas yra greitis. Lėtai. Labai lėtai. Bus per daug iteracijų, kol pasieksime reikiamą tikslumą. Tobulėjant kompiuterinėms technologijoms, tai, žinoma, nėra problema, tačiau matematika yra tai, ko reikia, kad būtų galima ieškoti racionaliausių sprendimų.

Ir vienas iš efektyvesnių būdų apytikslę šaknies reikšmę rasti yra tiksliai tangentinis metodas. Trumpa geometrinė metodo esmė yra tokia: pirma, naudojant specialų kriterijų (daugiau apie tai šiek tiek vėliau) pasirenkamas vienas iš segmento galų. Šis galas vadinamas pradinėšaknies aproksimacija, mūsų pavyzdyje: . Dabar nubrėžiame funkcijos grafiko liestinę ties abscisėmis (mėlynas taškas ir violetinė liestinė):

Ši liestinė kirto x ašį geltoname taške ir atkreipkite dėmesį, kad pirmuoju žingsniu mes beveik „pataikėme į šaknį“! Taip ir bus pirmašaknų požiūris. Toliau geltoną nuleidžiame statmenai funkcijos grafikui ir „gauname“ iki oranžinio taško. Per oranžinį tašką vėl nubrėžiame liestinę, kuri susikirs su ašimi dar arčiau šaknies! Ir taip toliau. Nesunku suprasti, kad naudojant tangentinį metodą, mes artėjame prie tikslo šuoliais ir tikslumui pasiekti prireiks kelių iteracijų.

Kadangi liestinė apibrėžiama per funkcijos išvestinė, tada ši pamoka atsidūrė skiltyje „Išvestiniai produktai“ kaip viena iš jos taikomųjų programų. Ir nesigilinant į detales teorinis metodo pagrindimas, apsvarstysiu techninę problemos pusę. Praktiškai aukščiau aprašyta problema iškyla maždaug tokia formuluote:

1 pavyzdys

Grafiniu metodu raskite intervalą, kuriame yra tikroji lygties šaknis. Naudodami Niutono metodą, gaukite apytikslę šaknies reikšmę 0,001 tikslumu

Čia yra užduoties „taupioji versija“, kurioje iš karto nurodomas vienos galiojančios šaknies buvimas.

Sprendimas: pirmame žingsnyješaknis turėtų būti atskirta grafiškai. Tai galima padaryti braižant (žr. iliustracijas aukščiau), tačiau šis metodas turi nemažai trūkumų. Pirma, tai nėra faktas, kad grafikas yra paprastas (iš anksto nežinome), o programinė įranga ne visada yra po ranka. Ir antra (išvada nuo 1 d.), su didele tikimybe rezultatas bus net ne schematinis brėžinys, o apytikslis piešinys, kas, žinoma, nėra gerai.

Na, kam mums reikia bereikalingų sunkumų? Įsivaizduokime lygtis formoje ATSARGIAI sudarykite grafikus ir pažymėkite brėžinyje šaknį („X“ grafikų susikirtimo taško koordinatė):

Akivaizdus pranašumas šis metodas yra tai, kad šių funkcijų grafikai sudaromi ranka daug tiksliau ir daug greičiau. Beje, atkreipkite dėmesį tiesiai kirto kubinė parabolė viename taške, o tai reiškia, kad pasiūlyta lygtis iš tikrųjų turi tik vieną tikrąją šaknį. Pasitikėk, bet patikrink ;-)

Taigi mūsų „klientas“ priklauso segmentui ir „iš akies“ yra maždaug lygus 0,65-0,7.

Antrame žingsnyje reikia rinktis pradinis aproksimacijašaknis Paprastai tai yra vienas iš segmento galų. Pradinis apytikslis skaičiavimas turi atitikti šią sąlygą:

Raskime pirma Ir antra išvestinės funkcijos :

ir patikrinkite kairįjį segmento galą:

Taigi nulis „netinka“.

Patikrinkite dešinįjį segmento galą:

- Viskas gerai! Mes pasirenkame kaip pradinį aproksimaciją.

Trečiame žingsnyje Mūsų laukia kelias į šaknis. Kiekvienas paskesnis šaknies apytikslis apskaičiavimas apskaičiuojamas iš ankstesnių duomenų, naudojant toliau pateiktą informaciją pasikartojantis formulės:

Procesas baigiasi, kai įvykdoma sąlyga, kur yra iš anksto nustatytas skaičiavimo tikslumas. Dėl to „n-oji“ aproksimacija laikoma apytiksle šaknies reikšme: .

Toliau pateikiami įprasti skaičiavimai:

(paprastai apvalinama iki 5–6 skaitmenų po kablelio)

Kadangi gauta vertė yra didesnė nei , pereiname prie 1-osios šaknies aproksimacijos:

Skaičiuojame:

, todėl reikia pereiti prie 2 aproksimacijos:

Pereikime į kitą etapą:

, taigi, iteracijos baigtos, o 2-asis aproksimacija turėtų būti laikoma apytiksle šaknies reikšme, kuri, atsižvelgiant į nurodytą tikslumą, turėtų būti suapvalinta iki tūkstantosios:

Praktikoje patogu skaičiavimų rezultatus suvesti į lentelę, norint kiek sutrumpinti įrašą, trupmena dažnai žymima:

Jei įmanoma, geriau atlikti pačius skaičiavimus „Excel“ - tai daug patogiau ir greičiau:

Atsakymas: tikslumas iki 0,001

Leiskite jums priminti, kad ši frazė reiškia faktą, kad vertindami padarėme klaidą tikroji prasmėšaknis ne daugiau kaip 0,001. Tie, kurie abejoja, gali pasiimti mikroskaičiuotuvą ir dar kartą pakeisti apytikslę reikšmę 0,674 kairėje lygties pusėje.

Dabar „nuskaitykime“ dešinįjį lentelės stulpelį iš viršaus į apačią ir pastebėkime, kad vertės absoliučia verte nuolat mažėja. Šis efektas vadinamas konvergencija metodas, leidžiantis savavališkai dideliu tikslumu apskaičiuoti šaknį. Bet konvergencija ne visada įvyksta – ji užtikrinama nemažai sąlygų, apie kurią nutylėjau. Visų pirma, turi būti segmentas, ant kurio yra izoliuota šaknis pakankamai mažas– kitaip reikšmės keisis atsitiktinai ir negalėsime užbaigti algoritmo.

Ką daryti tokiais atvejais? Patikrinkite, ar tenkinamos nurodytos sąlygos (žr. nuorodą aukščiau) ir, jei reikia, sumažinkite segmentą. Taigi, santykinai kalbant, jei analizuojamame pavyzdyje intervalas mums netiko, tai turėtume apsvarstyti, pavyzdžiui, segmentą. Praktikoje esu susidūręs su tokiais atvejais, ir ši technika tikrai padeda! Tą patį reikia padaryti, jei abu „plataus“ segmento galai neatitinka sąlygos (t. y. nė vienas iš jų netinka kaip pradinis aproksimacija).

Tačiau paprastai viskas veikia kaip laikrodis, nors ir be spąstų:

2 pavyzdys

Grafiškai nustatykite lygties realių šaknų skaičių, atskirkite šias šaknis ir, naudodami Niutono metodą, tiksliai suraskite apytiksles šaknų reikšmes.

Problemos sąlyga tapo pastebimai griežtesnė: pirma, joje yra stipri užuomina, kad lygtis neturi vienos šaknies, antra, išaugo tikslumo reikalavimas, trečia, su funkcijos grafiku. daug sunkiau susidoroti.

Ir todėl sprendimas Pradėkime nuo taupymo gudrybės: įsivaizduokite lygtį formoje ir nubrėžkite grafikus:


Iš brėžinio matyti, kad mūsų lygtis turi dvi realias šaknis:

Algoritmas, kaip suprantate, turi būti „sukamas“ du kartus. Bet tai taikoma tik sunkiausiems atvejams, kartais reikia ištirti 3-4 šaknis.

1) Naudojant kriterijų Išsiaiškinkime, kurį atkarpos galą pasirinkti kaip pradinį pirmosios šaknies aproksimaciją. Funkcijų išvestinių radimas :

Kairiojo segmento galo testavimas:

- atsirado!

Taigi tai yra pradinis apytikslis skaičiavimas.

Mes patobulinsime šaknį naudodami Niutono metodą, naudodami pasikartojančią formulę:
- iki trupmenos modulo bus ne mažesnis už reikalaujamą tikslumą:

Ir čia žodis „modulis“ įgyja neiliuzinę reikšmę, nes reikšmės yra neigiamos:


Dėl tos pačios priežasties turėtumėte parodyti didesnį dėmesį pereidami prie kiekvieno kito apytikslio:

Nepaisant gana aukšto tikslumo reikalavimo, procesas vėl baigėsi 2-uoju aproksimavimu: , todėl:

Tikslumas iki 0,0001

2) Raskime apytikslę šaknies reikšmę.

Mes patikriname, ar kairiajame segmento gale nėra utėlių:

, todėl jis netinka kaip pradinis aproksimacija.

2. Niutono metodas netiesinių lygčių sistemoms spręsti.

Šis metodas turi daug greitesnę konvergenciją nei paprastas iteracijos metodas. Niutono metodas lygčių sistemai (1.1) pagrįstas funkcijos išplėtimo naudojimu

, Kur
(2.1)

į Taylor seriją, o terminai, kuriuose yra antros ir aukštesnės eilės išvestinių priemonių, yra atmetami. Šis metodas leidžia vienos netiesinės sistemos (1.1) sprendimą pakeisti daugelio tiesinių sistemų sprendimu.

Taigi, sistemą (1.1) išspręsime Niutono metodu. D regione pasirinkite bet kurį tašką
ir vadinti tai nuliniu aproksimacija tiksliam pradinės sistemos sprendimui. Dabar išplėskime funkcijas (2.1) į Taylor seriją taško kaimynystėje. turėsime

Nes kairiosios (2.2) pusės turi išnykti pagal (1.1), tada (2.2) dešinės pusės taip pat turi išnykti. Todėl iš (2.2) turime

Visos dalinės išvestinės (2.3) turi būti skaičiuojamos taške .

(2.3) yra tiesinių algebrinių lygčių sistema nežinomiems. Šią sistemą galima išspręsti Cramerio metodu, jei jos pagrindinis determinantas nėra lygus nuliui ir galima rasti dydžius.

Dabar galime patikslinti nulinį aproksimaciją, sukonstruodami pirmąją aproksimaciją su koordinatėmis

tie.
. (2.6)

Išsiaiškinkime, ar aproksimacija (2.6) gauta pakankamai tiksliai. Norėdami tai padaryti, patikrinkime būklę

,
(2.7)

Kur iš anksto nustatytas mažas teigiamas skaičius (tikslumas, kuriuo sistema (1.1) turi būti išspręsta). Jei sąlyga (2.7) tenkinama, tai pasirenkame (2.6) kaip apytikslį sistemos (1.1) sprendimą ir užbaigiame skaičiavimus. Jei sąlyga (2.7) netenkinama, atliekame tokį veiksmą. Sistemoje (2.3), vietoj
imkime atnaujintas vertes

, (2.8)

tie. darykime taip

. (2.9)

Po to sistema (2.3) bus tiesinių algebrinių lygčių sistema dydžiams Nustačius šiuos dydžius, sekantis antras aproksimacija
sistemos (1.1) sprendinį randame naudodami formules

Dabar patikrinkime būklę (2.7)

Jei ši sąlyga įvykdoma, skaičiavimus užbaigiame antrąjį aproksimaciją kaip apytikslį sistemos (1.1) sprendimą.
. Jei ši sąlyga neįvykdyta, mes toliau sudarome kitą aproksimaciją, atsižvelgiant į (2.3)
Būtina sudaryti aproksimacijas, kol sąlyga nebus įvykdyta.

Niutono metodo darbo formulės sistemos (1.1) sprendimui gali būti parašytos formoje.

Apskaičiuokite seką

Čia
yra sistemos sprendimas

Suformuluokime skaičiavimo algoritmą naudodami formules (2.11)-(2.13).

1. Pasirinkime nulinį aproksimaciją, priklausančią sričiai D.

2. Tiesinių algebrinių lygčių sistemoje (2.13) nustatome
,A.

3. Išspręskime sistemą (2.13) ir raskime dydžius
.

4. Į formules (2.12) dedame
ir apskaičiuokite kitos aproksimacijos komponentus.

5. Patikrinkime sąlygą (2.7): (žr. kelių dydžių maksimalaus apskaičiavimo algoritmą.)

6. Jei ši sąlyga įvykdyta, tada skaičiavimus baigiame pasirinkdami aproksimaciją kaip apytikslį sistemos (1.1) sprendimą. Jei ši sąlyga neįvykdyta, pereikite prie 7 veiksmo.

7. Padėkime
visiems.

8. Atlikime 3 veiksmą, dėjimą
.

Geometriškai šis algoritmas gali būti parašytas taip:

Algoritmas. Kelių kiekių maksimumo apskaičiavimas.

Pavyzdys. Apsvarstykime, kaip panaudoti Niutono metodą dviejų lygčių sistemai išspręsti.

Naudodamiesi Niutono metodu, iki tikslumo išspręskite šią netiesinių lygčių sistemą

, (2.14)

Čia
. Pasirinkime nulinį aproksimaciją
, priklausantis sričiai D. Sukonstruokime tiesinių algebrinių lygčių sistemą (2.3). Ji atrodys kaip

(2.15)

Pažymėkime

Išspręskime sistemą (2.15) nežinomųjų atžvilgiu
, pavyzdžiui, Cramerio metodas. Kramerio formules rašome formoje

(2.17)

kur yra pagrindinis sistemos determinantas (2.15)

(2.18)

o sistemos (2.15) pagalbiniai determinantai turi formą

.

Rastas reikšmes pakeičiame į (2.16) ir randame pirmojo aproksimavimo komponentus
į sistemos (2.15) sprendimą.

Patikrinkime būklę

, (2.19)

jei ši sąlyga yra įvykdyta, tada skaičiavimus užbaigiame pirmąją aproksimaciją laikant apytikslį sistemos (2.15) sprendimą, t.y.
. Jei sąlyga (2.19) netenkinama, nustatome
,
ir sukurti naują tiesinių algebrinių lygčių sistemą (2.15). Jį išsprendę randame antrąjį aproksimaciją
. Patikrinkim. Jei ši sąlyga yra įvykdyta, mes pasirenkame kaip apytikslį sistemos (2.15) sprendimą.
. Jei sąlyga netenkinama, nustatome
,
ir suraskite tokią sistemą (2.15).
ir tt

Užduotys

Visoms užduotims reikia:

    Pagal siūlomą algoritmą parengti skaitinio metodo įgyvendinimo programą.

    Gaukite skaičiavimo rezultatus.

    Patikrinkite rezultatus.

Pateikta dviejų netiesinių lygčių sistema.

1.
2.

3.
4.

5.
6.

7.
8.

9.
10.

11.
12.

13.
14.

15.
.

3 skyrius. Skaitiniai tiesinių algebrinių lygčių sistemų (SLAE) sprendimo metodai.

Darbo tikslas. Įvadas į kai kuriuos apytikslius SLAE sprendimo būdus ir jų skaitmeninį įgyvendinimą asmeniniame kompiuteryje.

Preliminarios pastabos. Visi SLAE sprendimo būdai paprastai skirstomi į dvi dideles grupes. Pirmoji grupė apima metodus, kurie paprastai vadinami tiksliais. Šie metodai leidžia bet kuriai sistemai rasti tikslias nežinomųjų reikšmes po riboto skaičiaus aritmetinių operacijų, kurių kiekviena atliekama tiksliai.

Antroji grupė apima visus metodus, kurie nėra tikslūs. Jie vadinami kartotiniais, skaitiniais arba apytiksliais. Tikslus sprendimas, naudojant tokius metodus, gaunamas dėl nesibaigiančio aproksimavimo proceso. Patraukli tokių metodų savybė yra jų savaiminė korekcija ir paprastas diegimas kompiuteryje.

Panagrinėkime kai kuriuos apytikslius SLAE sprendimo būdus ir sukurkime jų skaitmeninio įgyvendinimo algoritmus. Apytikslį SLAE sprendimą gausime tikslumu , kur yra koks nors labai mažas teigiamas skaičius.

1. Iteracijos metodas.

Tegul SLAE pateikiama formoje

(1.1)

Šią sistemą galima parašyti matricos forma

, (1.2)

Kur
- sistemos (1.1) nežinomųjų koeficientų matrica,
- laisvųjų narių kolona,
- sistemos nežinomųjų stulpelis (1.1).

. (1.3)

Išspręskime sistemą (1.1) iteracijos metodu. Norėdami tai padaryti, atliksime šiuos veiksmus.

Pirmiausia. Pasirinkime nulinį aproksimaciją

(1.4)

tiksliam sistemos (1.1) sprendimui (1.3). Nulinės aproksimacijos komponentai gali būti bet kokie skaičiai. Tačiau nulinės aproksimacijos komponentams patogiau imti arba nulius
, arba nemokamos sistemos sąlygos (1.1)

Antra. Nulinės aproksimacijos komponentus pakeičiame dešiniąja sistemos (1.1) puse ir apskaičiuojame

(1.5)

Kairėje (1.5) esantys dydžiai yra pirmojo aproksimavimo komponentai
Veiksmai, kurių rezultatas buvo pirmasis aproksimavimas, vadinami iteracija.

Trečia. Patikrinkime nulį ir pirmąjį aproksimaciją

(1.6)

Jei tenkinamos visos sąlygos (1.6), tai apytiksliui sistemos (1.1) sprendimui pasirenkame arba , arba nesvarbu, nes jie skiriasi vienas nuo kito ne daugiau kaip ir baigkime skaičiavimus. Jei bent viena iš sąlygų (1.6) neįvykdyta, pereiname prie kito veiksmo.

Ketvirta. Atlikime kitą iteraciją, t.y. į dešinę sistemos (1.1) pusę pakeičiame pirmojo aproksimavimo komponentus ir apskaičiuojame antrojo aproksimavimo komponentus
, Kur

Penkta. Patikrinkim
ir toliau, t.y. Patikrinkime šių aproksimacijų sąlygą (1.6). Jei tenkinamos visos sąlygos (1.6), tai apytiksliui sistemos (1.1) sprendimui pasirinksime arba , arba nesvarbu, nes jie skiriasi vienas nuo kito ne daugiau kaip . Priešingu atveju mes sukursime kitą iteraciją, pakeisdami antrojo aproksimavimo komponentus į dešinę sistemos (1.1) pusę.

Iteracijas reikia sukurti iki dviejų gretimų aproksimacijų
ir vienas nuo kito skirsis ne daugiau kaip .

Sistemos (1.1) sprendimo iteracijos metodo darbo formulė gali būti parašyta kaip

(1.7) formulės skaitmeninio įgyvendinimo algoritmas gali būti toks.

Pakankamos sąlygos iteracijos metodo konvergencijai sistemai (1.1) turi tokią formą

1.
, .

2.
,
.

3.

2. Paprastas iteracijos metodas.

Tegul tiesinių algebrinių lygčių sistema (SLAE) pateikiama forma

(2.1)

Norint išspręsti sistemą (2.1) naudojant paprastą iteracijos metodą, pirmiausia ji turi būti sumažinta iki formos

(2.2)

Sistemoje (2.2) -oji lygtis yra -oji sistemos (2.1) lygtis, išspręsta atsižvelgiant į -tą nežinomą (
).

Sistemos (2.1) sprendimo metodas, susidedantis iš jos redukavimo į sistemą (2.2), o po to sistemos (2.2) sprendimo iteracijos metodu, vadinamas paprastu sistemos (2.1) iteracijos metodu.

Taigi sistemos (2.1) sprendimo paprastos iteracijos metodo darbo formulės turės formą

(2.3)

Formulės (2.3) gali būti parašytos formoje

Sistemos (2.1) paprastos iteracijos metodo skaitmeninio įgyvendinimo algoritmas pagal (2.4) formules gali būti toks.

Šis algoritmas gali būti parašytas geometriškai.

Pakankamos sąlygos paprastos iteracijos metodo konvergencijai sistemai (2.1) turi tokią formą

1.
, .

2.
,
.

3.

3. Stacionarus Seidelio metodas.

SLAE sprendimo Seidel metodas skiriasi nuo iteracijos metodo tuo, kad radę tam tikrą --ojo komponento aproksimaciją, mes iš karto naudojame jį norėdami rasti kitą
,
, …, – komponentas. Šis metodas leidžia pasiekti didesnį Seidelio metodo konvergencijos greitį, palyginti su iteracijos metodu.

Tegul SLAE pateikiama formoje

(3.1)

Leiskite
- tikslaus sprendimo nulis
sistemos (3.1). Ir tegul jį suranda aproksimacija
. Apibrėžkime komponentus
aproksimacija naudojant formules

(3.2)

Formulės (3.2) gali būti parašytos kompaktine forma

,
,
(3.3)

Seidelio metodo skaitinio įgyvendinimo algoritmas sistemai (3.1) išspręsti naudojant (3.3) formules gali būti toks.

1. Pasirinkime, pvz.
,

2. Įdėkime .

3. Paskaičiuokime visiems.

4. Visiems patikrinsime sąlygas
.

5. Jei tenkinamos visos 4 punkte nurodytos sąlygos, pasirinksime arba arba kaip apytikslį sistemos (3.1) sprendimą ir užbaigsime skaičiavimus. Jei netenkinama bent viena 4 veiksmo sąlyga, pereikite prie 6 veiksmo.

6. Padėkite jį ir pereikime prie 3 veiksmo.

Šis algoritmas gali būti parašytas geometriškai.

Pakankama Seidelio metodo konvergencijos sąlyga sistemai (3.1) turi formą
, .

4. Nestacionarus Seidelio metodas.

Šis SLAE (3.1) sprendimo būdas suteikia dar didesnį Seidelio metodo konvergencijos greitį.

Kaip nors suraskime sistemos (3.1) aproksimacijos ir tosios aproksimacijos komponentus.

Apskaičiuokime korekcijos vektorių

Apskaičiuokime reikšmes

, (4.2)

Suderinkime kiekius
, mažėjančia tvarka.

Ta pačia tvarka perrašome lygtis sistemoje (3.1) ir šios sistemos nežinomuosius: Linijinisalgebra Ir netiesinis ... Valdymas laboratorija darbaiAutorius ... metodinė nurodymus praktiškadarbaiAutorius studentai ...

  • Mokomoji literatūra (gamtos ir technikos) 2000-2011 OP ciklas – 10 metų CD ciklas – 5 metai

    Literatūra

    ... Natūralusmokslas apskritai 1. Astronomija [Tekstas]: vadovas ... Skaitmeninismetodus: Linijinisalgebra Ir netiesinis ... Valdymas laboratorija darbaiAutorius ... metodinė nurodymus praktiškadarbaiAutorius disciplina „Transporto ekonomika“ studentai ...

  • - gamtos mokslai (1)

    Pamoka

    ... valdymasstudentai ir mokytojai, skirti naudoti ne tik studijoms metodusdirbti... gamyba praktiškaįgūdžiai naudojant tikrus duomenis. Metodinis rekomendacijas Autorius testo įvykdymas dirbtiAutorius tai...

  • - gamtos mokslai - fiziniai ir matematikos mokslai - chemijos mokslai - žemės mokslai (geodeziniai geofiziniai geologijos ir geografijos mokslai)

    dokumentas

    ... studentainatūraliai- ... darbaiAutorius disciplina „Genetika ir atranka“, skirta šioms aktualioms problemoms mokslas. Susisteminta nepriklausoma DarbasstudentaiAutorius teoriniai ir praktiška ... linijinis, netiesinis, dinamiškas. Visi metodus ...

  • - gamtos mokslai - fiziniai ir matematikos mokslai - chemijos mokslai - žemės mokslai (geodeziniai geofiziniai geologijos ir geografijos mokslai) (7)

    Vadovėlių sąrašas

    Eremino determinantas linijinis Ir netiesinisalgebra : linijinis Ir netiesinis programavimas: naujas metodas/ Ereminas, Michailas... studentai ir universitetų geologijos specialybių dėstytojai. kh-1 1794549 99. D3 P 693 PraktiškavaldymasAutorius ...

  • VALSTYBINĖ UGDYMO ĮSTAIGA

    „Padniestrės valstybinis universitetas pavadintas. T.G. Ševčenka"

    Rybnitsa filialas

    Fizikos, matematikos ir informatikos katedra

    Kursiniai darbai

    disciplinoje: „Problemų sprendimo dirbtuvės kompiuteriu“

    "Niutono metodas netiesinėms lygtims spręsti"

    Užbaigta:

    3 kurso studentas;

    330-oji grupė

    specialybės: „Informatika“

    su papildomais anglų kalbos specialybę

    Nistor A.G.

    Patikrinta:

    mokytojas Panchenko T. A.


    Norint įdiegti kompiuterius į visas žmogaus veiklos sritis, įvairių profilių specialistai turi įvaldyti kompiuterinių technologijų naudojimo įgūdžius. Didėja universiteto studentų rengimo lygis, kurie nuo pirmųjų kursų supažindinami su kompiuterių naudojimu ir paprasčiausiais skaitiniais metodais, jau nekalbant apie tai, kad kursinių ir diplominių projektų įgyvendinimas, kompiuterinių technologijų naudojimas tampa norma. daugumoje universitetų.

    Kompiuterinės technologijos dabar naudojamos ne tik inžineriniuose skaičiavimuose ir ekonomikos moksluose, bet ir tokiose tradiciškai nematematinėse specialybėse kaip medicina, kalbotyra, psichologija. Šiuo atžvilgiu galima teigti, kad kompiuterių naudojimas tapo plačiai paplitęs. Atsirado didelė specialistų kategorija – kompiuterių vartotojai, kuriems reikalingos žinios apie kompiuterių naudojimą savo pramonėje – gebėjimai dirbti su esama programine įranga, taip pat sukurti savo programinę įrangą, pritaikytą konkrečiai problemai spręsti. Ir čia vartotojui į pagalbą ateina aukšto lygio programavimo kalbų ir skaitmeninių metodų aprašymai.

    Skaitinius metodus paprastai kuria ir tiria aukštos kvalifikacijos matematikai. Daugumai vartotojų pagrindinė užduotis yra suprasti pagrindines idėjas ir metodus, funkcijas ir programas. Tačiau vartotojai nori dirbti su kompiuteriu ne tik kaip itin išmaniąja skaičiuokle, bet ir kaip asistentu kasdieniame darbe, informacijos saugykla su greita ir tvarkinga prieiga, taip pat grafinės informacijos šaltiniu ir procesoriumi. Visas šias šiuolaikinio kompiuterio funkcijas ketinu pademonstruoti šiame kursiniame darbe.

    Tikslai ir uždaviniai.

    Šio kursinio darbo tikslas – Niutono metodu ištirti ir įdiegti programiniame produkte netiesinių lygčių sprendimą. Darbą sudaro trys skyriai, išvados ir priedas. Pirma dalis yra teorinė ir joje pateikiama bendra informacija apie Niutono metodą. Antroji – praktinė dalis. Čia aprašome Niutono metodą, analizuojamą konkrečiais pavyzdžiais. Trečioji skirta programos testavimui ir rezultatų analizei. Galiausiai pateikiama išvada apie atliktą darbą.

    Šio kursinio darbo tikslas – programinis Niutono metodo įgyvendinimas netiesinėms lygtims spręsti.

    Norėdami tai padaryti, turite atlikti šias užduotis:

    1. Studijuoti reikiamą literatūrą.

    2. Peržiūrėkite esamus netiesinių lygčių sprendimo būdus.

    3. Išstudijuokite Niutono metodą netiesinėms lygtims spręsti.

    4. Apsvarstykite netiesinių lygčių sprendimą Niutono metodu, naudodami konkrečius pavyzdžius.

    5. Parengti netiesinių lygčių sprendimo Niutono metodu programą.

    6. Išanalizuokite rezultatus.

    Apsvarstykite netiesinės lygties šaknų radimo problemą

    (1) lygties šaknys yra tos x reikšmės, kurias pakeitus, ji paverčiama tapatybe. Tik pačioms paprasčiausioms lygtims galima rasti sprendimą formulių pavidalu, t.y. analitinė forma. Dažniau lygtis reikia spręsti apytiksliais metodais, tarp kurių labiausiai paplitę dėl kompiuterių atsiradimo yra skaitiniai metodai.

    Šaknų paieškos apytiksliais metodais algoritmą galima suskirstyti į du etapus. Iš pradžių tiriama šaknų vieta ir atliekamas jų atskyrimas. Surandama sritis, kurioje yra lygties šaknis arba pradinė aproksimacija iki šaknies x 0. Paprasčiausias būdas išspręsti šią problemą yra išnagrinėti funkcijos f(x) grafiką. Bendru atveju, norint ją išspręsti, būtina panaudoti visas matematinės analizės priemones.

    Bent vienos (1) lygties šaknies egzistavimas rastame segmente išplaukia iš Bolzano sąlygos:

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

    Tai reiškia, kad funkcija f(x) yra ištisinė šiame intervale. Tačiau ši sąlyga neatsako į klausimą apie lygties šaknų skaičių tam tikrame intervale. Jei funkcijos tęstinumo reikalavimas yra papildytas jos monotoniškumo reikalavimu, o tai išplaukia iš pirmosios išvestinės ženklo pastovumo, tada galime teigti, kad tam tikrame segmente yra viena šaknis.

    Lokalizuojant šaknis taip pat svarbu žinoti pagrindines šio tipo lygčių savybes. Pavyzdžiui, prisiminkime kai kurias algebrinių lygčių savybes:

    kur yra tikrieji koeficientai.

    a) n laipsnio lygtis turi n šaknų, tarp kurių gali būti ir tikroji, ir kompleksinė. Sudėtingos šaknys sudaro sudėtingas konjuguotas poras, todėl lygtis turi lyginį tokių šaknų skaičių. Jei n yra nelyginis, yra bent viena tikroji šaknis.

    b) Teigiamų realiųjų šaknų skaičius yra mažesnis arba lygus kintamųjų ženklų skaičiui koeficientų sekoje. Pakeitus x į –x (3) lygtyje, galime tuo pačiu būdu įvertinti neigiamų šaknų skaičių.

    Antrajame (1) lygties sprendimo etape, naudojant gautą pradinį aproksimaciją, konstruojamas iteracinis procesas, leidžiantis tam tikru iš anksto nustatytu tikslumu patikslinti šaknies reikšmę. Iteracinis procesas susideda iš nuoseklaus pradinio aproksimavimo tobulinimo. Kiekvienas toks žingsnis vadinamas iteracija. Dėl iteracijos proceso randama apytikslių lygties šaknų reikšmių seka. Jei ši seka artėja prie tikrosios šaknies x vertės, kai n auga, tai kartotinis procesas suartėja. Teigiama, kad pasikartojantis procesas susilieja bent iki eilės m, jei įvykdoma ši sąlyga:

    , (4)


    kur C>0 yra tam tikra konstanta. Jei m=1, tai kalbame apie pirmos eilės konvergenciją; m=2 – apie kvadratinį, m=3 – apie kubinį konvergenciją.

    Iteraciniai ciklai baigiasi, jei tam tikros leistinos paklaidos atveju įvykdomi absoliučių arba santykinių nuokrypių kriterijai:

    arba nedidelis neatitikimas:

    Šis darbas skirtas netiesinių lygčių sprendimo algoritmui Niutono metodu tirti.

    1.1 Esamų netiesinių lygčių sprendimo metodų apžvalga

    Yra daug skirtingų netiesinių lygčių sprendimo būdų, kai kurie iš jų pateikiami žemiau:

    1)Iteracijos metodas. Sprendžiant netiesinę lygtį iteracijos metodu, naudosime lygtį, parašytą forma x=f(x). Nurodoma pradinė argumento reikšmė x 0 ir tikslumas ε. Pirmoji sprendinio x 1 aproksimacija randama iš išraiškos x 1 =f(x 0), antrasis - x 2 =f(x 1) ir t.t. Bendruoju atveju i+1 aproksimaciją randame naudodami formulę xi+1 =f(xi). Šią procedūrą kartojame iki |f(xi)|>ε. Iteracijos metodo konvergencijos sąlyga |f"(x)|<1.

    2)Niutono metodas. Sprendžiant netiesinę lygtį Niutono metodu, nurodoma pradinė argumento reikšmė x 0 ir tikslumas ε. Tada taške (x 0 ,F(x 0)) nubrėžiame grafiko F(x) liestinę ir nustatome liestinės susikirtimo su x 1 ašimi tašką. Taške (x 1 ,F(x 1)) vėl sukonstruojame liestinę, randame kitą norimo sprendinio x 2 aproksimaciją ir t.t. Šią procedūrą kartojame iki |F(xi)| > ε. Norėdami nustatyti liestinės susikirtimo tašką (i+1) su abscisių ašimi, naudojame tokią formulę x i+1 =x i -F(x i)\ F’(x i). Tangentinio metodo F(x 0)∙F""(x)>0 konvergencijos sąlyga ir kt.

    3). Dichotomijos metodas. Sprendimo būdas yra palaipsniui dalijantis pradinį neapibrėžties intervalą per pusę pagal formulę C k = a k + b k /2.

    Norint pasirinkti reikiamą iš dviejų gautų segmentų, reikia rasti funkcijos reikšmę gautų segmentų galuose ir atsižvelgti į tą, kurioje funkcija pakeis savo ženklą, tai yra sąlyga f ( a k) * f (in k) turi būti patenkintas<0.

    Segmento padalijimo procesas vykdomas tol, kol esamo neapibrėžties intervalo ilgis yra mažesnis už nurodytą tikslumą, tai yra

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

    4). Akordo metodas. Metodo idėja yra ta, kad atkarpoje sudaroma styga, sujungianti funkcijos y=f(x) grafiko lanko galus ir tašką c, stygos susikirtimą su x- ašis, laikoma apytiksle šaknies reikšme

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

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

    Kitas aproksimavimas ieškomas intervale arba priklausomai nuo funkcijų reikšmių ženklų taškuose a, b, c

    x* O, jei f(c)H f(a) > 0;

    x* O, jei f(c)Х f(b)< 0 .


    Jei f"(x) nekeičia ženklo į , tada pažymėdami c=x 1 ir laikant a arba b pradine aproksimacija, gauname kartotines stygos metodo formules su fiksuotu dešiniuoju arba kairiuoju tašku.

    x 0 =a, x i+1 = x i - f(x i)(b-x i) / (f(b)-f(x i), kai f "(x)Х f "(x) > 0;

    x 0 =b, x i+1 = x i - f(x i)(x i -a) / (f(x i)-f(a), kai f "(x)Х f "(x)< 0 .

    Akordo metodo konvergencija yra tiesinė.

    1.2 Niutono metodo algoritmas

    Sukurkime efektyvų lygties šaknų skaičiavimo algoritmą. Pateikiame pradinę aproksimaciją. Šioje vietoje apskaičiuokime funkcijos reikšmę ir jos išvestinę. Pažvelkime į grafinę metodo iliustraciją:

    .


    (8)

    Tęsdami šį procesą, gauname garsiąją Niutono formulę:

    (9)

    Čia yra paprasčiausia rekursyvi paprogramės funkcija:

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

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

    jei abs(f(x)) > eps

    tada X_Newt:=X_Newt(y,eps)

    Niutono metodui (liestinėms) būdingas kvadratinis konvergencijos greitis, t.y. Kiekvienos iteracijos metu teisingų ženklų skaičius padvigubėja. Tačiau šis metodas ne visada duoda norimą rezultatą. Panagrinėkime šį klausimą išsamiau.

    Paverskime (1) lygtį į ekvivalentinę formos lygtį:

    Tangentinio metodo atveju . Jei žinoma pradinė aproksimacija šaknies x=x 0, tai sekančią aproksimaciją rasime iš lygties x 1 =g(x 0), tada x 2 =g(x 1),... Tęsdami šį procesą, gauname paprastos iteracijos metodo pasikartojančią formulę

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

    Iteracinis procesas tęsiasi tol, kol įvykdomos sąlygos (5–7).

    Ar aprašytas skaičiavimo procesas visada veda prie norimo sprendimo? Kokiomis sąlygomis jis susilies? Norėdami atsakyti į šiuos klausimus, vėl pereikime prie metodo geometrinės iliustracijos.

    Lygties šaknis vaizduojama funkcijų y=x ir y=g(x) susikirtimo tašku. Kaip matyti iš fig. 3(a), jei sąlyga tenkinama, tai procesas suartėja, kitu atveju jis išsiskiria (3(b) pav.).


    Taigi, norint, kad kartotinis procesas būtų konvergentiškas ir duotų norimą rezultatą, turi būti įvykdyta ši sąlyga:

    Perėjimas nuo lygties f(x)=0 į lygtį x=g(x) gali būti atliekamas įvairiais būdais. Šiuo atveju svarbu, kad pasirinkta funkcija g(x) atitiktų sąlygą (12). Pavyzdžiui, jei funkcija f(x) padauginama iš savavališkos konstantos q ir kintamasis x pridedamas prie abiejų (1) lygties pusių, tada g(x)=q*f(x)+x. Pasirinkime tokią konstantą q, kad algoritmo konvergencijos greitis būtų didžiausias. Jei 1

    Niutono metodas turi aukštą konvergencijos greitį, tačiau jis ne visada sutampa. Konvergencijos sąlyga, kur g(x) = x – f(x)/ f’(x), sumažinama iki reikalavimo.

    Praktiniuose skaičiavimuose svarbu pasirinkti pradinę vertę kuo artimesnę norimai reikšmei, o programoje įdiegti „kilpos apsaugą“.

    Metodo trūkumas yra tas, kad kiekviename žingsnyje reikia apskaičiuoti ne tik funkciją, bet ir jos išvestinę. Tai ne visada patogu. Viena iš Niutono metodo modifikacijų – išvestinę skaičiuoti tik per pirmą iteraciją:

    (13)

    Kitas modifikavimo būdas – išvestinę pakeisti baigtiniu skirtumu

    (14)

    Tada (15)

    Geometrinė šio Niutono algoritmo pakeitimo prasmė yra ta, kad nuo liestinės pereiname prie sekanto. Sekantinis metodas konvergencijos greičio atžvilgiu yra prastesnis už Niutono metodą, tačiau nereikalauja išvestinės skaičiavimo. Atkreipkite dėmesį, kad pradiniai aproksimacijos sekanto metodu gali būti išdėstyti skirtingose ​​šaknies pusėse arba toje pačioje pusėje.

    Užrašykime Niutono metodo algoritmą bendra forma.

    1. Nustatykite pradinį aproksimaciją x (0), kad sąlyga būtų įvykdyta

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

    Nustatykite nedidelį teigiamą skaičių ε kaip skaičiavimų tikslumą. Nustatyti k = 0.

    2. Apskaičiuokite x (k+1) naudodami (9) formulę:


    .

    3. Jei | x (k+1) – x (k) |< ε, то процесс вычисления прекратить и положить х* = x (k+1) . Kitu atveju padidinkite k 1 (k = k + 1) ir pereikite prie 2 veiksmo.

    Išspręskime keletą netiesinių lygčių rankiniu būdu, naudodami Niutono metodą, o tada palyginkime rezultatus su gautais diegiant programinės įrangos produktą.

    1 pavyzdys

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

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

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


    Dabar, remdamiesi grafiku, paimkime pirmąją apytikslę šaknį ir patikrinkime sąlygą (16): f(x (0)) * f’’(x (0)) > 0.

    Tegu x (0) = 0,565, tada f(0,565)*f’’(0,565) = -4. 387 * (-0,342) = 1,5 > 0,

    Sąlyga įvykdyta, todėl imame 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

    Iš to išplaukia, kad lygties šaknis yra x = 0,101.

    2 pavyzdys

    Išspręskite lygtį naudodami Niutono metodą.

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

    Skaičiavimai turėtų būti atliekami ε = 0,001 tikslumu.

    Apskaičiuokime pirmąją funkcijos išvestinę.

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

    Dabar apskaičiuokime antrąją funkcijos išvestinę.

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

    Sukurkime apytikslį šios funkcijos grafiką.

    Dabar, remdamiesi grafiku, paimkime pirmąją apytikslę šaknį ir patikrinkime sąlygą (16): f(x (0)) * f’’(x (0)) > 0.

    Tegul x (0) = 2, tada f(2)*f''(2) = 0,449 * 0,010 = 0,05 > 0,

    Sąlyga įvykdyta, todėl imsime x (0) = 2.

    Dabar sukurkime verčių lentelę, kad išspręstume šią lygtį.

    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

    Iš to išplaukia, kad lygties šaknis yra x = 1,089.

    3 pavyzdys

    Išspręskite lygtį naudodami Niutono metodą.

    Skaičiavimai turėtų būti atliekami ε = 0,001 tikslumu.

    Apskaičiuokime pirmąją funkcijos išvestinę.

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

    Dabar apskaičiuokime antrąją funkcijos išvestinę.

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

    Sukurkime apytikslį šios funkcijos grafiką.


    Dabar, remdamiesi grafiku, paimkime pirmąją apytikslę šaknį ir patikrinkime sąlygą (16): f(x (0)) * f’’(x (0)) > 0.

    Tegu x (0) = 1, tada f(2)*f''(2) = 0. 632 * 1, 632 = 1, 031 > 0,

    Dabar sukurkime verčių lentelę, kad išspręstume šią lygtį.

    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

    Iš to išplaukia, kad lygties šaknis yra x = 0,703.

    Išspręskite lygtį naudodami Niutono metodą.

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

    Apskaičiuokime pirmąją funkcijos išvestinę.


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

    Dabar apskaičiuokime antrąją funkcijos išvestinę.

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

    Sukurkime apytikslį šios funkcijos grafiką.

    Dabar, remdamiesi grafiku, paimkime pirmąją apytikslę šaknį ir patikrinkime sąlygą (16): f(x (0)) * f’’(x (0)) > 0.

    Tegu x (0) = 1, tada f(2)*f''(2) = -0. 066 * (-0,692) = 0,046 > 0,

    Sąlyga įvykdyta, todėl imsime x (0) = 1.

    Dabar sukurkime verčių lentelę, kad išspręstume šią lygtį.

    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

    Iš to išplaukia, kad lygties šaknis yra x = 1,162.

    5 pavyzdys

    Išspręskite lygtį naudodami Niutono metodą.

    2+e x - e -x =0.

    Apskaičiuokime pirmąją funkcijos išvestinę.

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

    Dabar apskaičiuokime antrąją funkcijos išvestinę.

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

    Sukurkime apytikslį šios funkcijos grafiką.

    Dabar, remdamiesi grafiku, paimkime pirmąją apytikslę šaknį ir patikrinkime sąlygą (16): f(x (0)) * f’’(x (0)) > 0.

    Tegu x (0) = 1, tada f(2)*f’’(2) = 0, 350 * 2, 350 = 0, 823 > 0,

    Sąlyga įvykdyta, todėl imsime x (0) = 1.

    Dabar sukurkime verčių lentelę, kad išspręstume šią lygtį.

    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

    Iš to išplaukia, kad lygties šaknis yra x = 0,881.

    3.1 Programos aprašymas

    Ši programa skirta dirbti tekstiniu ir grafiniu režimu. Jį sudaro Graph modulis, Crt, trys funkcijos ir trys procedūros.

    1. Crt modulis skirtas valdyti ekrano teksto režimus, išplėstinius klaviatūros kodus, spalvas, langus ir garsą;

    2. Graph modulis skirtas grafinių objektų valdymui;

    3. procedūra GrafInit – inicijuoja grafikos režimą;

    4. funkcija VF – apskaičiuoja funkcijos reikšmę;

    5. funkcija f1 – apskaičiuoja funkcijos pirmosios išvestinės reikšmę;

    6. funkcija X_Newt – įgyvendina lygties sprendimo algoritmą Niutono metodu.

    7. procedūra FGraf – įgyvendina duotosios funkcijos f(x) grafiko konstravimą;

    Ots=35 – konstanta, kuri apibrėžia taškų skaičių įtraukimui nuo monitoriaus ribų;

    fmin, fmax – didžiausios ir minimalios funkcijos reikšmės;

    SetColor(4) – procedūra, kuri paletės pagalba nustato esamą grafinio objekto spalvą, šiuo atveju ji yra raudona;

    SetBkColor(9) yra procedūra, kuri nustato esamą fono spalvą naudojant paletę, šiuo atveju šviesiai mėlyną.

    8. Procedūra MaxMinF – apskaičiuos didžiausią ir mažiausią funkcijos f(x) reikšmes.

    Linija – procedūra, kuri nubrėžia liniją iš taško su koordinatėmis (x1, y1) į tašką su koordinatėmis (x2, y2);

    MoveTo – procedūra, perkelianti rodyklę (CP) į tašką su koordinatėmis (x, y);

    TextColor(5) – procedūra, kuri nustato esamą simbolių spalvą, šiuo atveju ji yra rožinė;

    Outtexty(x, y, 'styga') – procedūra, kuri išveda eilutę, prasidedančią nuo pozicijos (x, y)

    CloseGraph yra procedūra, kuri uždaro grafikos sistemą.

    3.2 Programos testavimas

    Programai išbandyti paimsime pavyzdžius, kurie buvo išspręsti praktinėje darbo dalyje, kad palygintume rezultatus ir patikrintume, ar programa veikia teisingai.

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

    Įveskite a = -1

    Įveskite b=1

    = [-1, 1]

    (funkcijų grafiko išvestis)


    Gauname: x=0,0000002

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

    Ši programa apskaičiuoja netiesinės lygties šaknis, naudodama Niutono metodą eps tikslumu ir nubrėžia apytikslį atkarpos funkcijos grafiką.

    Įveskite a = -3

    Įveskite b=3

    = [-3, 3]

    (funkcijų grafiko išvestis)

    Niutono metodu rastos lygties šaknis:

    Patikrinkime gautą atsakymą pakeisdami į lygtį.

    Gauname: x=-0,0000000

    3) x 2 - e -x = 0.

    Ši programa apskaičiuoja netiesinės lygties šaknis, naudodama Niutono metodą eps tikslumu ir nubrėžia apytikslį atkarpos funkcijos grafiką.

    Įveskite a = -1

    Įveskite b=1

    = [-1, 1]

    Įveskite skaičiavimo tikslumą eps=0. 01

    (funkcijų grafiko išvestis)

    Niutono metodu rastos lygties šaknis:

    Patikrinkime gautą atsakymą pakeisdami į lygtį.

    Gauname: x=0,0000000

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

    Ši programa apskaičiuoja netiesinės lygties šaknis, naudodama Niutono metodą eps tikslumu ir nubrėžia apytikslį atkarpos funkcijos grafiką.

    Įveskite a = -1,5

    Įveskite b=1,5

    = [-1,5, 1,5 ]

    Įveskite skaičiavimo tikslumą eps=0. 001

    (funkcijų grafiko išvestis)

    Niutono metodu rastos lygties šaknis:


    Patikrinkime gautą atsakymą pakeisdami į lygtį.

    Gauname: x=0,0008180

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

    Ši programa apskaičiuoja netiesinės lygties šaknis, naudodama Niutono metodą eps tikslumu ir nubrėžia apytikslį atkarpos funkcijos grafiką.

    Įveskite a = -0,9

    Įveskite b=0,9

    = [-0,9, 0,9]

    Įveskite skaičiavimo tikslumą eps=0. 001

    (funkcijų grafiko išvestis)

    Niutono metodu rastos lygties šaknis:

    Patikrinkime gautą atsakymą pakeisdami į lygtį.

    Darbo tikslas buvo sukurti programą, kuri Niutono metodu apskaičiuoja netiesinės lygties šaknį. Remdamiesi tuo, galime daryti išvadą, kad tikslas buvo pasiektas, nes jam įgyvendinti buvo išspręstos šios užduotys:

    1. Išstudijuota reikiama literatūra.

    2. Apžvelgti esami netiesinių lygčių sprendimo būdai.

    3. Ištirtas Niutono metodas netiesinėms lygtims spręsti.

    4. Netiesinių lygčių sprendimas Niutono metodu nagrinėjamas naudojant pavyzdį.

    5. Programa buvo išbandyta ir derinama.

    Naudotos literatūros sąrašas

    1. B.P. Demidovičius, I. A. Maronas. Skaičiavimo matematikos pagrindai. – Maskva, red. „Mokslas“; 1970 m.

    2. V.M. Veržbitskis. Skaitiniai metodai (tiesinė algebra ir netiesinės lygtys). – Maskva, „Aukštoji mokykla“; 2000 m.

    3. N.S.Bachvalovas, A.V.Lapinas, E.V.Čižonkovas. Skaitiniai metodai uždaviniuose ir pratybose. – Maskva, „Aukštoji mokykla“; 2000 m.

    4. Matthews, John, G., Fink, Curtis, D. Skaitiniai metodai MATLAB, 3 leidimas - Maskva, „Villas“; 2001 m.



    Ar jums patiko straipsnis? Pasidalinkite su draugais!