skaitiniai metodai 1
TRANSCRIPT
![Page 1: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/1.jpg)
Skaitiniai metodai
doc. dr. Vadimas Starikovičius
http://www.techmat.vgtu.lt/~vs
VGTU Matematinio modeliavimo katedra
VGTU Lygiagrečiųjų skaičiavimų laboratorija
![Page 2: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/2.jpg)
Modulio kodas - FMMMB11304
Modulio apimtis – 5 ECTS kr.
Mokymo metodai:
• Paskaitos – 45 val. per semestrą
• Pratybos – 15 val. per semestrą
• Laboratoriniai darbai – 15 val. per semestrą
Vertinimas = Egzaminas (40%) + Kolokviumas (20%) +
+ Pratybos (20%) + Laboratoriniai darbai (20%)
![Page 3: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/3.jpg)
Literatūra
• V.Būda, R.Čiegis. Skaičiuojamoji matematika. Vilnius: TEV, 1997.
• K. Plukas. Skaitiniai metodai ir algoritmai. Kaunas: Naujasis laukas, 2000.
• B.Kvedaras, M.Sapagovas. Skaičiavimo metodai. Vilnius: Mintis, 1974.
• J.H. Mathews. Numerical methods for mathematics, science and engineering. 2 ed. Prentice Hall, Englewood Cliffs, New Jersey, 1992
• Holistic Numerical Methods http://nm.mathforcollege.com
![Page 4: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/4.jpg)
Tradicinis (iki XX a. pabaigos) modeliavimo būdas moksle, inžinerijoje, gamtosaugoje, ekonomikoje:
1. Sukurti teoriją/modelį/įrenginį.
2. Patikrinti ją/jį stebėjimuose arba eksperimentuose.
Tradicinio modeliavimo būdo problemos ir trūkumai:
• brangu (daryti eksperimentinius lėktuvus/automobilius/raketas/įrenginius)
• ilgai (projektuoti/bandyti naujus įrenginius, laukti klimato pakeitimų)
• pavojinga (branduoliniai bandymai/vaistų dizainas)
Sprendimas – virtualus eksperimentas (kompiuterinė simuliacija)
Matematinis modeliavimas
![Page 5: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/5.jpg)
Raketų, lėktuvų, automobilių projektavimas
Virtualus eksperimentas
Kompiuterinė simuliacija
![Page 6: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/6.jpg)
Saugumo testų modeliavimas
![Page 7: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/7.jpg)
Orų prognozė ir klimato pokyčių modeliavimas
![Page 8: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/8.jpg)
Kompiuteriai patys savaime uždavinių neišsprendžia (bent kol kas).
1. Realų uždavinį reikia aprašyti matematiškai, t.y. reikia sudaryti jo matematinį modelį.
2. Reikia parinkti matematinio modelio sprendimo metodą. Sudėtingiems modeliams analizinių sprendimo metodų nėra. Tada reikia parinkti skaitinį metodą ir sudaryti sprendimo algoritmą.
3. Reikia perrašyti sprendimo algoritmą viena iš programavimo kalbų.
4. Galiausiai atliekami skaičiavimai kompiuteryje (geriausiai lygiagrečiajame). Atliekami rezultatų analizė ir patikrinimas (angl. validation). Prireikus, matematinis modelis, skaitinis sprendimo algoritmas yra patikslinami.
Matematinis modeliavimas su kompiuterių pagalba
![Page 9: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/9.jpg)
Dėsnių, aprašančių vykstančius procesus,
nustatymas Uždavinys Matematinis modelis
Sprendimo metodo parinkimas.
Algoritmizavimas
Sprendimo algoritmas
Programavimas Programa
Skaičiavimai Rezultatai Rezultatų
patikrinimas ir analizė
Uždavinio sprendimas pagal matematinio modeliavimo schema
![Page 10: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/10.jpg)
• Matematinis modelis, aprašantis oro temperatūrą, slėgį ir judėjimo greitį, - netiesinių diferencialinių lygčių sistema.
• Jos sprendimui taikomi skaitiniai metodai. Diferencialinių lygčių sistema baigtinių tūrių metodu pakeičiama tiesinių lygčių sistema.
• Atmosfera yra dengiama diskrečiuoju tinklu, pvz. 1x1x1 km (1 km3) tūriais. Jei modeliuojamas 16 km aukštis, tai turime apytiksliai 8 x109 tūrių (V = 4/3 x π x r3; žemės spindulys - 6370 km). Priklausomai nuo metodo kiekvieną tūrį atitinka nuo 1 iki 5 tiesinių lygčių, t.y. gaunamos sistemos didžiulės eilės.
• Tokios sistemos sprendžiamos specialiais skaitiniais metodais. Svarbu metodą parinkti taip, kad sistemos sprendimui reikėtų atlikti kuo mažiau skaičiavimų.
• Tarkime, kad reikia atlikti vidutiniškai 200 aritmetinių operacijų kiekvienam tūriui. Tada kiekvienam laiko žingsniui apskaičiuoti reikia atlikti 200 x 8 x 109 = 1,6 x 1012 operacijų. Simuliuojant 10 dienų orus su 10 minučių laiko žingsnių, reikia atlikti 10 x 24 x 6 x 1,6 x 1012 = 2,3 x 1015 operacijų.
• Kompiuteriu, atliekančiu 1 Gflops (Gflops = 109 Floating Point Ope-rations per Second) operacijų per sekundę, atsakymą gausime tik per 2,3 x 1015 Ops / 109 Ops/s = 2,3 x 106 sekundžių arba per 26 dienas.
Orų prognozės uždavinio sprendimas
![Page 11: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/11.jpg)
Kurso aprašas
• Apytiksliai skaičiai ir paklaidos. Algoritmo
aritmetinių veiksmų skaičius.
• Netiesinių lygčių ir lygčių sistemų sprendimo
metodai.
• Tiesioginiai tiesinių lygčių sistemų sprendimo
metodai.
• Iteraciniai tiesinių lygčių sistemų sprendimo metodai.
• Funkcijų interpoliavimas ir aproksimavimas.
• Tikrinių reikšmių uždavinio skaitiniai sprendimo
metodai.
• Optimizavimo metodai.
• Skaitinio integravimo metodai.
![Page 12: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/12.jpg)
• Matematiniame modelyje dažniausiai naudojami pradiniai duomenys ir koeficientai, kurie žinomi arba matuojami tik apytiksliai.
• Kitas apytikslių skaičių šaltinis glūdi kompiuterių aritmetikoje – kompiuterio atmintinėje visi realieji skaičiai užrašomi baigtine dešimtaine trupmena, kurios ilgis priklauso nuo kintamajam išsaugoti skirtų bitų skaičiaus, t.y. apvalinami!
• Pvz., (1:3)·3 = ?
• Sprendžiant realius uždavinius, atliekami milijonai aritmetinių veiksmų. Kai nėra kontroliuojamos, pradinės ir apvalinimo paklaidos gali susikaupti, išaugti ir neatpažįstamai iškreipti gaunamą sprendinį. Tokie skaitiniai sprendimo metodai vadinami nestabiliais.
• Sieksime sudarinėti stabilius skaitinius metodus ir algoritmus, kai paklaidos nesikaupia (neauga).
Apytiksliai skaičiai ir paklaidos
![Page 13: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/13.jpg)
Absoliučioji ir santykinė paklaidos Tarkime, kad yra žinomas skaičiaus a artinys (apytikslė reikšmė) - x.
Apibrėžimas. Skaičiaus a artinio x absoliučiąja paklaida vadinamas dydis
.axa
Apskaičiuokime absoliučiąsias paklaidas, kai a=1000, o x=1012 ir b=0,01, o y=0,0098. Kurio skaičiaus (a arba b) artinys yra tikslesnis?
Apibrėžimas. Skaičiaus a artinio x santykine paklaida vadinamas dydis
Apskaičiuokime santykines paklaidas. Kuris artinys tikslesnis?
Dažnai naudojama tokia apytiksliai žinomo dydžio a užrašymo forma:
Kodėl ± ?
.a
ax
a
aa
.axa
![Page 14: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/14.jpg)
Maksimalios absoliučioji ir santykinė paklaidos Praktiniuose taikymuose tikslus skaičius a dažniausiai nėra žinomas, t.y. negalime apskaičiuoti tiksliai
Tada naudojamas kuo tikslesnis absoliučios paklaidos įvertis vadina-mas maksimalia (ribine) absoliučiąja paklaida. Žymėsime
.aa
Pavyzdžiui, gali būti nustatoma, kaip apvalinimo arba matavimo paklaida.
Ap. Skaičiaus a artinio x maksimalia santykine paklaida vadinamas dydis
Nustatykite, kuri apytiklė lygybė tikslesnė:
.ir aa
t.y.,a
a
.|| x
aa
?24,418 arba 818,011
9
![Page 15: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/15.jpg)
Veiksmai su apytiksliais skaičiais: sudėtis ir atimtis Dviejų apytikslių skaičių suma, skirtumas, sandauga, dalmuo, aišku, taip pat yra apytiksliai skaičiai.
Tarkime, kad x ir y yra skaičių a ir b artiniai. Įrodykime, kad
Savarankiškai įrodykite, kad
1 teiginys. Dviejų apytikslių skaičių sumos ar skirtumo absoliučioji paklaida yra ne didesnė už tų skaičių absoliučiųjų paklaidų sumą.
O kaip yra su santykine paklaida?
Panagrinėkime pavyzdį: a=10000, x=10012 ir b=9999, y=9995.
Apskaičiuokime ir palyginkime su
1 stabiliųjų algoritmų sudarymo taisyklė. Skaičiavimo algoritmus reikia sudaryti taip, kad nebūtų atimami dideli (palyginti su skirtumu) vienodo didumo skaičiai.
.)( baba
.)( baba
ba , .ba
![Page 16: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/16.jpg)
Veiksmai su apytiksliais skaičiais: daugyba ir dalyba Tarkime, kad x ir y yra skaičių a ir b artiniai. Įrodykime, kad asimptotiškai mažiems
Savarankiškai įrodykite, kad
2 teiginys. Dviejų apytikslių skaičių sandaugos ar dalmens santykinė paklaida asimptotiškai mažiems yra ne didesnė už tų skaičių santykinių paklaidų sumą.
O kaip yra su absoliučiąja paklaida?
Panagrinėkime pavyzdį. Tegu a=1, jo artinys x=1,1 ir b=0,01.
Apskaičiuokime ir palyginkime su
2 stabiliųjų algoritmų sudarymo taisyklė. Skaičiavimo algoritmus reikia sudaryti taip, kad nebūtų dalybos iš mažo skaičiaus.
)./( ba
.baab
./ baba
a
:ir ba
ba ir
![Page 17: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/17.jpg)
Funkcijos reikšmės paklaidos apskaičiavimas
Tarkime, kad reikia apskaičiuoti funkcijos reikšmę f(a) , kai argumen-to reišmė yra žinoma tik apytiksliai - xap. Kokia bus reikšmės f(xap) paklaida?
Kai funkcija f(x) yra tolydžiai diferencijuojama ir žinoma argumento reikšmės a paklaida Δa, tada funkcijos reikšmės f(a) paklaidą galima įvertinti pagal formulę
Praktykoje taikomos formulės:
Kai apskaičiuojama kelių kintamųjų funkcijos reišmė, o argumentai žinomi tik apytiksliai – naudojama formulė
.)(
|)()(|)( ax
xfxfafaf
apap
.)(
)(
)(
1)(ir
)()( )( a
xf
x
x
xfa
xfx
xfa
x
xfaf
ap
apap
ap
apaf
ap
. )(
)(1
n
i
ii
apa
x
xfaf
)(),,,( 21 xfxxxfy n
aaaa n
),,,( 21 apx
![Page 18: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/18.jpg)
Realių skaičių sudėtis kompiuterių aritmetikoje
Dėl apvalinimo paklaidų kompiuterių aritmetikoje skaičių perstato-mumo dėsnis negalioja (rezultatas priklauso nuo sumavimo tvarkos).
Pavyzdys. Apskaičiuokime sumą Tarkime, kad turime kompiuterį, kuriame skaičiaus x saugojimui yra skirtos 5 skiltys: skaičiaus ženklas, 3 reikšminiai ženklai (a, b, c) ir laipsnis k (kablelio padėtis): x = ± a,bc ∙ 10k.
Sumuodami iš kairės į dešinę (apvalindami po kiekvieno veiksmo), gauname
Sumuodami iš dešinės i kairę (apvalindami po kiekvieno veiksmo), gauname
Neapvalindami, gauname
3 stabiliųjų algoritmų sudarymo taisyklė. Skaičiavimo algoritmus reikia sudaryti taip, kad skaičiai būtų sudedami jų didėjimo tvarka.
.1366,2537,1395,0268,0 S
.164S
.163S
.633,163S
![Page 19: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/19.jpg)
Uždaviniai savarankiškam darbui
1. Kuri lygybė tikslesnė: ar
2. Duoti du apytiksliai žinomi dydžiai: ir Raskite jų sumą a+b ir skirtumą a-b. Pastaba: reikia įvertini rezultatų absoliučiąsias paklaidas (pagal 1 teiginį). Įvertinkite ir palyginkite santykines rezultatų paklaidas.
3. Duoti du apytiksliai žinomi dydžiai: ir Raskite jų sandaugą ab ir santykį a/b. Pastaba: reikia įvertini rezultatų absoliučiąsias paklaidas. Palyginkite gautas paklaidas.
4. Apskaičiuokite funkcijos reikšmę ir įvertinkite absoliučiąją ir santykinę paklaidas, kai
5. Kubo kraštinė yra išmatuota 1,5% tikslumu. Kokia yra to kubo tūrio santykinė paklaida? Pastaba: galima išspręsti dviem būdais (panaudojant Teiloro formulę arba 2 teiginį).
6. Kokia padaroma kūno ilgio matavimo paklaida (absoliuti ir santykinė), jei buvo matuojama milimetrine liniuote, o gautas kūno ilgis 1,85 cm.
7. Kokia padaroma kūno tūrio matavimo paklaida (absoliuti ir santykinė), jei buvo matuojama milimetrine liniuote, o gauti kūno matmenys: ilgis 20 cm, plotis 5 cm ir aukštis 15 cm.
63,644 ?463,041
19
0001,05378,2 a .001,0536,2 b
0001,05378,2 a .001,0006,0 b
3sin),,( zyxzyxf
.1,02,563 ,001,0467,0 ,01,059,3 zyx
![Page 20: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/20.jpg)
Algoritmo aritmetinių veiksmų skaičius Uždavinio sprendimo algoritmo pasirinkimą lemia ne tik jautrumas paklaidoms, bet ir algoritmo įvykdymui reikalingas aritmetinių veiksmų skaičius - algoritmo sudėtingumas.
Pavyzdys. Kiek aritmetinių veiksmų reikia atlikti skaičiuojant n-ojo laipsnio daugianario reikšmę kuriame nors taške x = c?
1 algoritmas. f := a0
ciklas su visais i nuo 1 iki n xi := 1 ciklas su visais j nuo 1 iki i xi := xi ∙c ciklo pagal j pabaiga f := f + ai ∙ xi
ciklo pagal i pabaiga
Kiek atliekame sudėties ir daugybos veiksmų pagal šį algoritmą?
Atliekame sudėties ir daugybos veiksmų.
Ar galima sumažinti šių veiksmų skaičių?
011
1)( axaxaxaxf nn
nn
2/32/2 nn n
![Page 21: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/21.jpg)
Algoritmo aritmetinių veiksmų skaičius 2 algoritmas. f := a0
xi := c ciklas su visais i nuo 1 iki n f := f + ai ∙ xi
xi := xi ∙c ciklo pagal i pabaiga
Kiek atliekame sudėties ir daugybos veiksmų pagal šį algoritmą?
Atliekame sudėties ir daugybos veiksmų.
3 Hornerio algoritmas.
f := an
ciklas su visais i nuo n iki 1 (su žingsniu -1) f := f ∙c + ai-1
ciklo pagal i pabaiga
Kiek atliekame sudėties ir daugybos veiksmų pagal šį algoritmą?
Atliekame sudėties ir daugybos veiksmų.
0121011
1 )))((()( axaxaxaxaaxaxaxaxf nnnn
nn
n
n2n
n n
![Page 22: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/22.jpg)
Netiesinių lygčių
sprendimo metodai
![Page 23: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/23.jpg)
• Išmoksime spręsti lygtis f(x) = 0, kuriose f(x) yra netiesinė funkcija.
• Pavyzdys. Rinkos pusiausvyros kainos radimas. Ekonominis paklausos dėsnis teigia, kad prekės paklausa – prekės kiekis d, kurį pirkėjai norėtų ir galėtų įsigyti – mažėja, didėjant kainai p.
• Taigi paklausa yra mažėjanti kainos funkcija
d = d(p).
• Iš kitos pusės, gamintojų noras tiekti prekes irgi yra susijęs su prekių kaina. Pagal ekonominį pasiūlos dėsnį, prekių pasiūla – prekių kiekis s, kurį gamintojai norėtų gaminti ir galėtų tiekti rinkai – didėja, augant kainai p.
• Taigi pasiūla yra didėjanti kainos funkcija
s = s(p).
• Aišku, kad gamintojai norėtų kelti prekės kainą, o pirkėjai, priešingai, mieliau pirktų pigesnę prekę. Laisvoje rinkoje rinkos kaina p tam tikrą laiką svyruoja, kol prekės pasiūla susilygina su paklausa:
d(p) = s(p).
• Šios lygties sprendinys ir vadinamas rinkos pusiausvyra kaina - p0.
![Page 24: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/24.jpg)
• Tegu yra žinomos tam tikros paklausos ir pasiūlos kreivės.
• Kaip rasti pusiausvyros rinkos kaina p0?
• Reikia išspręsti lygtį .3 pep
![Page 25: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/25.jpg)
• Naudosime skaitinius (t.y. neanalizinius) metodus, kurie leidžia
rasti lygties f(x) = 0 apytikslį sprendinį norimu tikslumu ε.
• Nagrinėsime įvarius metodus:
– Pusiaukirtos metodas
– Paprastųjų iteracijų metodas
– Niutono metodas (liestinių metodas)
– Kirstinių metodas
• Kaip pasirinkti “geriausią” metodą sprendžiamam uždaviniui
(t.y. lygčiai)?
• Nustatysime metodų konvergavimo greičius, t.y. kaip greitai yra
mažinama paklaida tarp apskaičiuojamų artinių ir ieškomo
sprendinio.
• Suformuluosime ir aptarsime metodų konvergavimo sąlygas, t.y.
sąlygas, kuriomis gaunamos artinų sekos konverguoja, t.y. kada
galime taikyti vieną ar kitą metodą.
![Page 26: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/26.jpg)
Šaknų atskyrimo metodai Lygtis f(x) = 0 gali turėti ne vieną šaknį.
Apibrėžimas. Intervalas (a, b) yra šaknies izoliacijos intervalas, jei
lygtis f(x) = 0 tame intervale turi vienintelį šaknį.
Šaknų atskyrimo uždavinys formuluojamas taip:
Duota lygtis f(x) = 0. Reikia rasti visų jos šaknų izoliacijos
intervalus.
Taigi sprendžiant lygtį f(x) = 0, tai daroma dviem etapais:
1. lokalizuojamos lygties šaknys (šaknų atskyrimo uždavinys);
2. randamos atskiros šaknys: visos (viena po kitos) ar tik reikalingos
(pvz., didžiausia, mažiausia), panaudojant ieškomos šaknies
izoliacijos intervalą.
Dažniausiai šaknų atskyrimui yra taikomi šie sprendimo būdai:
• Grafinis šaknų atskyrimas
• Intervalo skaidos metodas
• Monotoniškumo intervalų metodas
![Page 27: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/27.jpg)
Grafinis šaknų atskyrimas
Jei galima bent schematiškai nubrėžti funkcijos y = f(x) grafiką, tai
iš brėžinio galima nustatyti intervalus, kuriuose grafikas kerta arba
liečia Ox ašį, t.y. lygties f(x) = 0 šaknų izoliacijos intervalus.
![Page 28: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/28.jpg)
Grafinis šaknų atskyrimas Jei y = f(x) grafiką nubrėžti sudėtinga, galima pabandyti perrašyti
lygtį pavidalu g(x) = h(x), kai funkcijų y = g(x) ir y = h(x) grafikus
nubrėžti nesudėtinga.
Tada ieškomos šaknys yra grafikų susikirtimo taškai.
Pvz., panagrinėkime lygtį x sin(x)= 1.
xy
1
xy sin
Kiek šaknų turi lygtis x sin(x)= 1 ?
Koks yra mažiausios teigiamos šaknies izoliacijos intervalas?
![Page 29: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/29.jpg)
Intervalo skaidos metodas
• Šaknys atskiriamos pasirinkus pakankamai didelį pradinį intervalą
ir padalijus jį į N dalių. Toliau nustatomi funkcijos f(x) ženklai
kiekvieno dalinio intervalo galuose.
• Jei dalinio intervalo galuose funkcija yra priešingų ženklų, tai jame
yra lygties sprendinys (jei funkcija yra tolydi).
• Pavyzdys.
Apskaičiuokime funkcijos reikšmės intervalų galuose.
• Šaknų nėra? O jei paimsime
• Taigi, nesėkmingai parinkus pradinį intervalą ir N, šiuo metodu
galima nerasti (nepastebėti) visų sprendinių, kai:
• į dalininį intervalą patenka lyginis sprendinių skaičius,
• į dalininį intervalą patenka nelyginis sprendinių skaičius (>1).
• Pavaizduokite šiuos atvejus.
.6 ],11 ,13[ ,0244)( 234 Nxxxxf
?5 ],6 ,4[ N
![Page 30: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/30.jpg)
Monotoniškumo intervalų metodas
• Šis būdas taikytinas tada, kai galima bent apytiksliai išspręsti lygtį
f ' (x) = 0 ir nustatyti funkcijos f(x) monotoniškumo (t.y. didėjimo ir
mažėjimo) intervalus pagal f ' (x) ženklą.
• Tuose monotoniškumo intervaluose, kurių galuose f(x) įgyja
priešingų ženklų reikšmes, yra vienintelis lygties sprendinys;
• Tuose monotoniškumo intervaluose, kurių galuose ženklai
vienodi, sprendinių nėra.
• Pavyzdys (2-o vadovėlio 24 pusl.). Vėl panagrinėkime lygtį
Galime nesunkiai išspręsti lygtį f ' (x) = 0 :
Iš čia gauname funkcijos f(x) monotoniškumo (t.y. didėjimo ir
mažėjimo) intervalus.
.0244)( 234 xxxxf
.0)2)(1(48124)( 23 xxxxxxxf
![Page 31: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/31.jpg)
• Bolcano ir Koši teorema. Jei funkcija f(x) yra tolydi intervale
[a,b] ir šio intervalo galuose įgyja priešingų ženklų reikšmes, tai
tarp a ir b yra toks taškas c, a < c < b, kuriame ši funkcija lygi
nuliui: f(c) = 0.
• Šios teoremos įrodymas yra konstruktyvus – įrodymo eiga yra
lygties f(x) = 0 sprendimo algoritmas, kuris vadinamas pusiau-
kirtos (angl. bisection) metodo algoritmu. Pateiksime jį.
• Metodo idėja – pradinio intervalo mažinimas dalinant pusiau.
Iš dviejų intervalo pusių toliau mažinama tą, kurios galuose
funkcija f(x) įgyja priešingų ženklų reikšmes, t.y. kuriai priklauso
ieškoma šaknis.
Pusiaukirtos metodas
![Page 32: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/32.jpg)
Pusiaukirtos metodo algoritmas
1. Pradinio intervalo parinkimas. Parenkame tokį pradinį intervalą, [a0, b0], kurio galuose
funkcijos reikšmės yra priešingų ženklų: f(a0)f(b0) < 0. Dalijimų skaičius n = 0.
2. Vidurio taško apskaičiavimas. Apskaičiuojame intervalo [an, bn] vidurio tašką:
3. Tikslumo tikrinimas. Jei intervalo [an, bn] ilgis ne didesnis už dvigubą reikalaujamą
tikslumą, |bn – an| ≤ 2ε, tai c = cn yra apytikslis lygties f(x) = 0 sprendinys, o jo paklaida
ne didesne už ε. Šiuo atveju skaičiavimus baigiame.
4. Ženklo nustatymas. Priešingu atveju, jei intervalo [an, bn] ilgis yra didesnis už 2ε, tai
nustatome funkcijos f(x) reikšmės ženklą intervalo vidurio taške cn. Jei f(cn) = 0, tai
c = cn yra tiksli lygties f(x) = 0 šaknis. Skaičiavimus baigiame.
5. Naujo intervalo nustatymas. Jei f(cn) ≠ 0, tai nustatome naują intervalą, kurio galuose
funkcija f(x) yra priešingų ženklų – jame yra tikslusis lygties sprendinys:
Jei f(an)f(cn) > 0, tai an+1 = сn , bn+1 = bn
Jei f(an)f(cn) < 0, tai an+1 = an , bn+1 = cn
6. Padidiname dalijimų skaitiklį: n := n+1 ir grįžtame į antrąjį algoritmo žingsnį.
• Išspręskime pavyzdį – rinkos pusiausvyros uždavinį
0,01 tikslumu (vadovėlio 23 pusl., 2 lentelė).
• Pasirinkę pradinį intervalą [a0, b0] = [0, 1], po 6 iteracijų gauname
apytikslį sprendinį vienos šimtosios tikslumu: c6 ≈ 0,77.
2
nnn
bac
03 xex
![Page 33: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/33.jpg)
Pusiaukirtos metodas
• Dabar įrodykime Bolcano ir Koši teoremą.
• Funkcijos tolydumas intervale [a, b] yra būtinas. Panagrinėkime
pavyzdžius
• Pusiaukirtos metodo paklaidos įvertis:
• Toliau nagrinėjami metodai (Niutono, kirstinių) konverguos
didesniu greičiu, tačiau tik tada, kai funkcija f(x) tenkins
papildomus reikalavimus.
.tg ,||
xyx
xy
.22
|| 00
n
nnnn
ababcc
![Page 34: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/34.jpg)
Paprastųjų iteracijų metodas
• Sprendžiamą lygtį f(x) = 0 perrašome tokia išraiška: x = φ(x).
• Randame ieškomos šaknies izoliacijos intervalą [a, b] ir jame
pasirenkame pradinį šaknies artinį x0: a < x0 < b.
• Generuokime iteracinę artinių seką {xn} pagal formule
xn+1 = φ(xn).
• Panagrinėkime pavyzdį:
• Pertvarkome
• Pasirenkame pradinį artinį x0 = 1.
• Apskaičiuokime keletą artinių
x1, x2, x3, ... Seka konverguoja?
• Panagrinėkime kitą pavyzdį:
• Pertvarkome ir pasirenkame x0 = 1. Apskaičiuokime x1.
• Paimkite kitą x0. Ar seka konverguoja?
.0210118)( 23 xxxxf
.10
2118 23
xxx
.0ln2 xx
xx ln2
![Page 35: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/35.jpg)
Paprastųjų iteracijų metodo konvergavimas
• Kada (kokiomis sąlygomis) parastųjų iteracijų metodu gaunama
artinių seka konverguoja (artėja) į tikslųjį lygties sprendinį c?
• 2 Teorema. Jei lygties x = φ(x) sprendinys c yra intervale [a, b],
o funkcija φ(x) šiame intervale turi tolydžią išvestinę ir
|φ'(x)| ≤ q < 1, tai, parinkus bet kokį pradinį artinį x0 iš [a, b],
artinių seka xn+1 = φ(xn) konverguoja į tikslųjį sprendinį c, t.y.
o paklaida įvertinama tokia nelygybe:
t.y. po kiekvienos iteracijos paklaida sumažėja 1/q kartų.
• Įrodykime šią teoremą.
• Pastaba. Teoremos sąlygomis artinio paklaida įvertinama tokia
nelygybe:
• Siekiant tikslumo ε gauname tikslumo sąlygą:
,lim cxnn
.||1
|| 11 nnn xxq
qcx
|,||| 1 cxqcx nn
.1
|| ||1
|| 111 q
qxxxx
q
qcx nnnnn
![Page 36: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/36.jpg)
1. Pradinio artinio parinkimas. Parenkamas iš intervalo [a, b]. Iteracijų skaitiklis n = 0.
2. Naujo artinio apskaičiavimas. Apskaičiuojamas naujas artinys:
3. Tikslumo tikrinimas. Tikrinama, ar pasiektas norimas tikslumas:
Jei ši sąlyga negalioja, tai iteracijų skaitiklis padidinamas vienetu ir grįžtama į antrąjį žingsnį.
4. Iteracijų pabaiga. Jei tikslumo sąlyga galioja, tai skaičiavimai baigiami, ir yra
lygties apytikslis sprendinys (sprendinio artinys), apskaičiuotas tikslumu ε.
0x
1 ( ).n nx x
1nx
Iš pradžių randamas ieškomo sprendinio c izoliacijos intervalas [a, b]. Lygtis f(x) = 0
perrašoma pavidalu x = φ(x) taip, kad intervale [a, b] būtų patenkintos teoremos sąlygos
(kitu atveju iteracinis procesas gali diverguoti). Apskaičiuojamas q: |φ'(x)| ≤ q < 1.
Paprastųjų iteracijų metodo algoritmas
.1
|| 1 q
qxx nn
Pabaikime spręsti pradėtus uždavinius (žr. vadovėlio 31-33 psl.).
1. Iš pradžių reikia rasti |φ'(x)| maksimumą - q šaknies izoliacijos intervale [a, b].
Didžiausia reikšmė (moduliu!) įgyjama arba viename iš kritinių taškų (φ''(x) = 0)
arba viename iš intervalo galu - a arba b.
2. Jei funkcija φ(x) netenkina konvergavimo teoremos sąlygų, reikia pabandyti
išreikšti x = φ(x) kitu būdu.
Antrajame pavyzdyje pradinę lygtį galime pertvarkyti taip: .e 2/xx
![Page 37: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/37.jpg)
• Skaitiniai metodai yra klasifikuojami pagal jų konvergavimo greičius, t.y. pagal tai, kaip greitai jie mažina apytikslio sprendinio paklaida.
• Bendru pavidalu metodo paklaidos įvertį galime užrašyti, taip
• Kai p = 1, sakoma, kad metodas yra pirmos eilės ir turi tiesinį
konvergavimo greitį. • Akivaizdu, kad tam, kad pirmos eilės metodas konverguotų,
įverčio konstanta q turi būti : 0 < q < 1. • Pavyzdžiui, pusiaukirtos metodas yra pirmos eilės, t.y. turi tiesinį
konvergavimo greitį: q = ½. O paprastųjų iteracijų metodas? • Kai p = 2, sakoma, kad metodas yra antros eilės ir turi kvadratinį
konvergavimo greitį. • Kai p = 3, sakoma, kad metodas yra trečios eilės ir turi kubinį
konvergavimo greitį. • Toliau susipažinsime su kitais lygties f(x) = 0 sprendimo
metodais, kurių konvergavimo greitis yra didesnis nei tiesinis.
Skaitinių metodų konvergavimo greičiai
.|||| 1
p
nn cxqcx
![Page 38: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/38.jpg)
• Liestinės ir Ox ašies susikirti-
mo tašką laikysime naujuoju
sprendinio artinių – x1.
• Jį apskaičiuojame iš liestinės
lygties, nes taškas (x1 , 0) turi
ją tenkinti:
• Kartojame šį procesą pagal
formulę:
• Pasirinkime pradinį lygties f(x) = 0 sprendinio c artinį x0,
apskaičiuokime funkcijos reikšmę f(x0) ir nubrėžkime funkcijos
f(x) liestinę per duotą tašką (x0 , f(x0)):
Niutono metodo geometrinė interpretacija:
1
( ).
( )
nn n
n
f xx x
f x
Niutono (liestinių) metodas
).)(()( 000 xxxfxfy
),)(()(0 0100 xxxfxf
.)(
)(
0
001
xf
xfxx
![Page 39: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/39.jpg)
Niutono metodo konvergavimo sąlygos ir greitis
Ar seka {xn} konverguoja? Kokiomis sąlygomis? Kokiu greičiu?
3 Teorema. Jei lygties f(x) = 0 sprendinio c aplinkoje
1) pirmoji funkcijos išvestinė nelygi nuliui, t.y.
2) antroji išvestinė aprėžta, t.y.
3) o pradinis artinys yra pakankamai arti tiksliojo sprendinio c,
tai Niutono metodo iteracinė artinių seka {xn} konverguoja į
tikslųjį sprendinį c, t.y.
o paklaida įvertinama tokia nelygybe:
• Taigi, Niutono metodas turi kvadratinį konvergavimo greitį ir konverguoja sparčiau, ypač, kai paklaida pasidaro maža.
• Pastebėkime, kad pradinis artinys turi būti pakankami arti, kad pirmasis artinys būtų jau arčiau ir t.t., t.y. kad procesas konverguotų (kitaip gali diverguoti):
,lim cxnn
,0|)(| 1 Mxf
,|)(| 2Mxf
.||2
|| 2
1
21 cx
M
Mcx nn
n
.2
||2
10
M
Mcx
![Page 40: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/40.jpg)
1. Pradinio artinio parinkimas. Pasirenkamas pradinis artinys .
Iteracijų skaitiklis n = 0.
2. Naujo artinio apskaičiavimas. Apskaičiuojamas naujas artinys:
3. Tikslumo tikrinimas. Jei sąlyga negalioja, tai iteracijų skaitiklis
didinamas vienetu ir grįžtame į 2 žingsnį.
4. Iteracijų pabaiga. Jei tikslumo sąlyga galioja, skaičiavimai baigiami, ir yra
apytikslis lygties f(x) = 0 sprendinys. 1nx
0x
1
( ).
( )
nn n
n
f xx x
f x
Pastabos:
1. Nepamirškite, kad šį algoritmą galime naudoti, tik jeigu funkcijos f(x) išvestinė
yra nelygi nuliui ieškomo sprendinio aplinkoje, o pradinis artinys pasirinktas
pakankamai arti.
2. Jei Niutono metodas konverguoja, tai turi galioti įvertis:
Jo pagalba galima patikrinti, ar metodas konverguoja.
Pavyzdys (vadovėlio 37 pusl., 3 pvz.). 0,00001 tikslumu išspręskime lygtį
Pasirinkime pradinį artinį
Pastaba. Tikslusis lygties sprendinys c = 1,1.
1 1 .n n n nx x x x
Niutono metodo algoritmas
|| 1 nn xx
.0231,03 xx .30 x
![Page 41: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/41.jpg)
• Kirstinės ir Ox ašies susikirti-
mo tašką laikysime naujuoju
sprendinio artinių – x2.
• Jį apskaičiuojame iš kirstinės
lygties, nes taškas (x2 , 0) turi ją
tenkinti:
• Kartojame šį procesą pagal
formulę:
• Kai funkcijos f(x) išvestinę analiziškai rasti neįmanoma galime
vietoje liestinių naudoti kirstines ir sudaryti kirstinių metodą.
• Pasirinkime du pradinius lygties f(x) = 0 sprendinio c artinius x0 ir
x1 ir nubrėžkime funkcijos f(x) kirstinę per duotus taškus (x0 , f(x0))
ir (x1 , f(x1)):
Metodo geometrinė interpretacija:
Kirstinių metodas
.)()(
)(
10
1
10
1
xx
xx
xfxf
xfy
.)()(
)(01
01112
xfxf
xxxfxx
.)()(
)(1
1112
nn
nnnnn
xfxf
xxxfxx
![Page 42: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/42.jpg)
• Sekos {xn} konvergavimo sąlygos labai panašios į Niutono
metodo konvergavimo sąlygas (3 teoremos), t.y. glodi ir
nenulinė išvestinė sprendinio c aplinkoje.
• Galima įrodyti, kad kirstinių metodo paklaida tenkina nelygybę:
• Taigi, kirstinių metodas konverguoja lėčiau (iteracijų prasme)
negu Niutono metodas.
• Tačiau vienos Niutono metodo iteracijos skaičiavimų apimtis
sulyginama su dviejų kirstinių metodo iteracijų apimtimi, nes
Niutono metodui reikia apskaičiuoti ir funkcijos, ir jos išvestinės
reikšmes, o kirstinių metodui – tik funkcijos.
• O po dviejų iteracijų kirstinių metodas sumažina paklaidą
daugiau:
• Todėl dažniausiai skaičiavimų laiko prasme kirstinių metodas
leidžia apskaičiuoti sprendinį greičiau negu Niutono.
Kirstinių metodo konvergavimas
.62,12/)15( čia ,|||| 1 cxCcx nn
.62,2 čia ,|||| 2
2 cxCcx nn
![Page 43: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/43.jpg)
1. Pradinių artinių parinkimas. Pasirenkami pradiniai artiniai x0 ir x1 .
Iteracijų skaitiklis n = 0.
2. Naujo artinio apskaičiavimas. Apskaičiuojamas naujas artinys:
3. Tikslumo tikrinimas. Jei sąlyga negalioja, tai iteracijų skaitiklis
didinamas vienetu ir grįžtame į 2 žingsnį.
4. Iteracijų pabaiga. Jei tikslumo sąlyga galioja, skaičiavimai baigiami, ir yra
apytikslis lygties f(x) = 0 sprendinys.
Pastaba. Jei kirstinių metodas konverguoja, tai turi galioti įvertis:
Jo pagalba galima patikrinti, ar metodas konverguoja.
Pavyzdys (vadovėlio 41 pusl., 5 pvz.). 0,00001 tikslumu išspręskime tą pačią lygtį
Pasirinkime pradinius artinius
1 1 .n n n nx x x x
Kirstinių metodo algoritmas
|| 12 nn xx
.0231,03 xx
.)()(
)(1
1112
nn
nnnnn
xfxf
xxxfxx
2nx
.3 ,4 10 xx
![Page 44: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/44.jpg)
Uždaviniai savarankiškam darbui
1. Grafiškai atskirkite lygties šaknis. Pusiaukirtos metodu raskite jos sprendinį (jei sprendinių keletas, tai mažiausią) 0,01 tikslumu
Ats.: -0,95.
2. Grafiškai atskirkite lygties šaknis. Pusiaukirtos, paprastųjų iteracijų, Niutono ir kirstiniu metodais raskite jos sprendinį (jei sprendinių keletas, tai mažiausią teigiamąją) 0,0001 tikslumu. Palyginkite iteracijų skaičių.
Ats.: 0,7391.
3. Pabandykite išspręsti lygtį
• Niutono metodu su pradiniu artiniu (a)
(b)
• kirstiniu metodu su pradiniais artiniais (c)
(d)
4. Uždaviniai iš literatūros sąrašo mokymo priemonių (pvz., iš vadovėlio 2 skyriaus).
.01477 23 xxx
.0cos xx
0arctg x
;35,10 x;45,10 x
;3,1 ,5,1 10 xx
.2 ,3 10 xx
![Page 45: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/45.jpg)
• Toliau dažnai spręsime uždavinius, kurių tikslieji sprendiniai ir jų artiniai yra vektoriai.
• Kaip įvertinti jų paklaida, t.y. kiek jie skiriasi vienas nuo kito? • Apibrėšime ir naudosime vektoriaus normos sąvoką.
• Apibrėžimas. Vektoriaus norma vadinamas skaičius turintis šias savybes:
1.
2. čia c – skaičius.
3.
• Dažniausiai taikomos vektorių normos:
• Įrodykite, kad šios funkcijos yra normos, t.y. jos tenkina apibrėžimo 1-3 sąlygas.
Vektorių normos
T
21 ),,,( nxxxx
,x
.00ir ,0 jei ,0
xx
, xcxc
.yxyx
,||1
1
n
i
ixx
euklidinė
,
0,5
1
2
2
n
i
ixx
maksimumo
. ||max1
ini
xx
![Page 46: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/46.jpg)
• Sprendžiant daugelį matematinio modeliavimo uždavinių
sprendžiamos netiesinių lygčių sistemos. Pvz., kelių kintamųjų
funkcijos ekstremumo radimo uždavinys.
• Bendruoju atveju nagrinėsime n netiesinių lygčių su n
nežinomųjų sistemą
čia yra netiesinės n kintamųjų funkcijos.
• Šią sistemą glaustai užrašysime vektoriniu pavidalu
čia
• Išnagrinėsime du šio uždavinio sprendimo metodus: paprastųjų
iteracijų metodą ir Niutono metodą.
Netiesinių lygčių sistemų sprendimo metodai
,0),...,,(
..............................
,0),...,,(
,0),...,,(
21
212
211
nn
n
n
xxxf
xxxf
xxxf
),...,,( 21 ni xxxf
),...,,( 21 nxxxf
,0)(
xf . , 2
1
2
1
nn f
f
f
f
x
x
x
x
![Page 47: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/47.jpg)
• Lygčių sistemą pertvarkome tokiu pavidalu:
• Pasirenkamas pradinis sprendinio artinys –
• Kai yra žinomas k-asis sprendinio artinys naująjį artinį
apskaičiuojame pagal formulę:
• Kiekviename žingsnyje naudodami pasirinktą normą tikriname,
ar nėra pasiektas norimas tikslumas:
• Ar šiuo metodu gaunama vektorių seka konverguoja į tikslųjį
sprendinį:
• Kokiomis sąlygomis ir kokiu greičiu?
Paprastųjų iteracijų metodas
),,...,,(..............................
),,...,,(
),,...,,(
21
2122
2111
nnn
n
n
xxxx
xxxx
xxxx
).(xx
.),,,( T00
2
0
1
0
nxxxx
).(1 kk xx
,kx 1kx
?1 kk xx
?cx k
k
![Page 48: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/48.jpg)
• Apibrėžimas. Funkcija yra vadinama spūdine funkcija n-
mačių vektorių aibėje V, jei yra toks skaičius kad su bet
kokiais ir galioja nelygybė
• 4 Teorema. Jei sprendinio aplinkoje
funkcija yra spūdinė, tai su bet kokiu pradiniu artiniu
paprastųjų iteracijų seka konverguoja į tikslųjį
sprendinį: o k-jo artinio paklaida įvertinama nelygybe:
• Paprastųjų iteracijų metodas konverguoja tiesiniu greičiu.
• Ką geometriškai apibrėžia aplinka euklidinėje ir
maksimumo normose, kai n = 2, 3? Pavaizduokite.
• Kaip patikrinti, ar funkcija yra spūdinė?
Paprastųjų iteracijų metodas
)(xS
.)()( xxqxSxS
),1,0(q
Vx
Vx
)(x
c
)(0 cBx
,cx k
k
} :{)( cxxcB
.)(1
00 xxq
qcx
kk
)(cB
![Page 49: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/49.jpg)
• Apibrėžimas. Funkcijos Jakobianu (Jakobio matrica)
vadinama matrica, sudaryta iš funkcijos komponenčių dalinių
išvestinių:
• Paprastųjų iteracijų metodo funkcija yra spūdinė srityje V
(pakankama sąlyga), jei
čia ||A|| yra matricos norma, pvz.
)x(f
n
nnn
n
n
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
xf
...
............
...
...
))((
21
2
2
2
1
2
1
2
1
1
1
J
)(x
V. kai ,1))(( xqx
J
.||max1
1
n
j
ijni
aA
![Page 50: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/50.jpg)
• Paprastųjų iteracijų metodu 0,001 tikslumu išspręskite lygčių
sistemą
• Pertvarkome šią lygčių sistemą pagal paprastųjų iteracijų metodo
reikalavimus
• Šiuo atveju (n = 2) galime schematiškai nubrėžti y = y(x) ir x = x(y)
funkcijų grafikus ir apytiksliai nustatyti sprendinį ir jo sritį:
• Apskaičiuodami jakobianą ir jo norma srityje V gauna-
me q = 0,54<1, t.y. teoremos sąlygos yra patenkintos.
• Pasirenkame pradinį artinį iš srities V:
• Apskaičiuojame pirmąjį sprendinio artinį ir jo paklaidą.
• Norimas tikslumas yra pasiekiamas 5-oje iteracijoje:
Paprastųjų iteracijų metodas. Pavyzdys.
2cos2
2,1)1sin(
yx
yx
yx
xy
cos5,01
2,1)1sin(
:))(( xx
2,1)1sin(
cos5,01
xy
yx
}.01 ,10 :),{( yxyxV
)),(( yx
J
.0ir 0 00 yx
),( 111 yxx
).0,20185- ;51015,0(),( 555 yxx
![Page 51: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/51.jpg)
• Išreikštinis iteracinis metodas. Dažnai konverguojantis
iteracinis procesas gaunamas tokiu pavidalu:
čia τ - iteracinis parametras, parenkamas taip, kad iteracinis
procesas konverguotų greičiausiai.
• Kokiomis sąlygomis šis procesas konverguoja?
• Pasinaudokite 4 teoremą.
• Pikaro metodas. Tarkime, kad turi pavidalą:
čia A yra kvadratinė n-osios eilės matrica.
Tada galime sudaryti tokį iteracinį procesą:
kurio kiekvienoje iteracijoje reikia spręsti tiesinių lygčių sistemą.
• Kada Pikaro metodu gaunama iteracinė seka konverguoja?
Išreikštinis iteracinis ir Pikaro metodai
),(1
kkk
xfxx
),( 1 kkk xfxx
)(xf
),()( xxxf
GA
,0)(1
kk xx GA
![Page 52: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/52.jpg)
• Netiesinės funkcijos pakeičiamos Teiloro eilutės
skleidiniais taške
• Prilyginame skleidinius nuliui ir užrašome Jakobiano pagalba
vektoriniu pavidalu:
• Taigi, gavome tiesinių lygčių sistemą. Ją išsprendę apskaičiuoja-
me naują sistemos sprendinio artinį:
arba panaudojant Jakobiano atvirkštinę matricą:
Niutono metodas ),...,,( 21 ni xxxf
:kx
).(),...,,(
),...,,(),...,,(01
212121
k
jj
n
j j
k
n
kk
ik
n
kk
ini xxx
xxxfxxxfxxxf
.0)))((()(
kkk xxxfxf J
),()))((( 1 kkkk xfxxxf
J
).())(( 11 kkkk xfxfxx
J
![Page 53: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/53.jpg)
1. Pradinio artinio parinkimas. Parenkame pradinį artinį iš
srities, kurioje yra lygčių sistemos sprendinys. Iteracijų skaitiklis n = 0.
2. Naujo artinio apskaičiavimas. Apskaičiuojant atvirkštinę jakobiano matricą arba
sprendžiant tiesinių lygčių sistemą, randame
3. Tikslumo tikrinimas. Jei sąlyga netenkinama iteracijų skaitiklį
didiname vienetu ir grįžtame prie 2 punkto.
4. Iteracijų pabaiga. Jei sąlyga tenkinama, tai yra lygčių sistemos sprendinio
artinys, apskaičiuotas su tikslumu ε.
arba )())(( 11 kkkk xfxfxx
J
Niutono metodo algoritmas
1kx
T00
2
0
1
0 ),,,( nxxxx
kk xx 1
Pastabos. Niutono metodo iteracinė seka konverguoja (kai
Jakobianas neišsigimsta) kvadratiniu greičiu:
Tačiau jo realizacija sudėtinga (reikalauja daug skaičiavimų):
kiekvienoje iteracijoje tenka apskaičiuoti Jakobio matricos elemen-
tus (n2) ir rasti jos atvirkštinę matricą (išspręsti ties. lygčių sistemą).
.2
1 cxCcx kk
).()))((( 1 kkkk xfxxxf
J
:1kx
![Page 54: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/54.jpg)
• 1 pavyzdys. Niutono metodu 0,001 tikslumu išspręskite lygčių
sistemą
• Šiuo atveju (n = 2) galime schematiškai nubrėžti y = y(x) ir x = x(y)
funkcijų grafikus ir apytiksliai nustatyti sprendinį ir jo sritį:
• Randame šios sistemos Jakobio matricą:
• Pasirenkame pradinį artinį iš srities V:
• Apskaičiuojame pirmąjį sprendinio artinį ir jo paklaidą.
• Palyginkite konvergavimo greitį su parastųjų iteracijų metodu.
• 2 pavyzdys. Niutono metodu 0,0001 tikslumu išspręskite lygčių
sistemą
Niutono metodas. Pavyzdžiai.
2cos2
2,1)1sin(
yx
yx
.)sin(2
1)1cos()),((
y
xyxf
J
}.01 ,10 :),{( yxyxV
.0ir 0 00 yx
),( 111 yxx
0
01
2
2
1
2
2
2
1
xx
xx
![Page 55: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/55.jpg)
Niutono metodo modifikacijos
• Egzistuoja įvairiausios Niutono metodo modifikacijos:
Niutono-Rafsono metodas:
su specialiai parenkamu iteraciniu parametru τk.
Įšaldytasis Niutono metodas:
kai atvirkštinė Jakobio matrica apskaičiuojama tik kas m-ąją
iteraciją.
Mažiau skaičiavimų kiekvienoje iteracijoje, bet sulėtėja
konvergavimo greitis.
Modifikacija su Jakobio matricos komponenčių - dalinių
išvestinių skaitiniu aproksimavimu:
),())((1
k
k
kkk xf
xxxf
J
,,,2,1 ),())(( 111 mjxfxfxx jkkjkjk
J
.),,,,,(),,,,,(
, ))((2121
h
xxxxfxhxxxfjixf
k
n
k
j
kk
i
k
n
k
j
kk
ik
J
![Page 56: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/56.jpg)
Tiesioginiai tiesinių lygčių sistemų
sprendimo metodai
![Page 57: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/57.jpg)
• Tarkime, kad n kintamųjų x1 , x2 , ... , xn sąryšiai išreikšti m
tiesinėmis algebrinėmis lygtimis. Tokiu atveju sakoma, kad turime
m tiesinių lygčių sistemą su n nežinomųjų:
• Žinomi dydžiai aij vadinami sistemos koeficientais; bi – sistemos
laisvaisiais nariais, o nežinomi dydžiai xj – sistemos nežinomaisiais
(kintamaisiais).
• Tiesinių lygčių sistemos sprendiniu vadinamas toks nežinomųjų
reikšmių rinkinys (vektorius) =(x’1 , x’2 , ... , x’n ), kuris tenkina
visas sistemos lygtis.
• Pavyzdžiai. Sąnaudų ir gamybos uždavinys, diferencialinių lygčių
skaitiniai sprendimo metodai.
Tiesinių lygčių sistemos
mnmnmm
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
...
...........................................
...
...
2211
22222121
11212111
x
![Page 58: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/58.jpg)
• Nagrinėsime tiesinių lygčių sistemų sprendimo
metodus, kuriais per baigtinį žingsnių skaičių
gaunamas tikslusis sprendinys (jei nedaroma
apvalinimo paklaidų).
• Tokie metodai vadinami tiesioginiais tiesinių lygčių
sistemų sprendimo metodais.
• Nagrinėsime
– Gauso metodą,
– perkelties metodą,
– LU skaidos metodą,
– Choleckio metodą.
![Page 59: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/59.jpg)
• Tiesinių lygčių sistemos
sprendinių aibė nesikeičia:
1) bet kurią lygtį pakeitus tos lygties ir nelygaus nuliui skaičiaus
sandauga;
2) bet kurią lygtį pakeitus tos lygties ir kitos lygties suma;
3) bet kurias sistemos lygtis sukeitus vietomis;
• Išvardyti veiksmai vadinami tiesinių lygčių sistemos
elementariaisiais (ekvivalenčiaisiais) pertvarkiais.
Tiesinių lygčių sistemų elementarieji pertvarkiai
mnmnmm
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
...
...........................................
...
...
2211
22222121
11212111
![Page 60: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/60.jpg)
• Gauso metodas yra pagrindinis tiesioginis tiesinių lygčių sistemų
sprendimo metodas.
• Jo esmė – nuoseklus nežinomųjų šalinimas elementariųjų pertvar-
kių pagalba, siekiant gauti trikampę tiesinių lygčių sistemą:
Arba matricinių pavidalu:
Gauso metodas
nnnnnn
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
..............................................
...
...
2211
22222121
11212111
nnnn
nn
nn
dxc
dxcxc
dxcxcxc
...........................................
...
...
22222
11212111
nnn
n
n
dc
dcc
dccc
...00
...............
...0
...
2222
111211
![Page 61: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/61.jpg)
• Pirmuoju žingsniu iš visų lygčių, išskyrus pirmąją, pašalinamas ne-
žinomasis x1: pirmoji lygtis dauginama iš daugiklio li1 = ai1 /a11 ir
atimama iš i-osios lygties, i=2,3,...,n:
čia a1ij , b
1i yra pertvarkytos sistemos koeficientai, apskaičiuoti pagal
formules
• Antrajame žingsnyje su antrąja lygtimi analogiškai pašalinamas
nežinomasis x2 iš trečiosios ir tolimesnių lygčių:
Gauso metodas
111
2
1
2
1
2
1
22
111211
1
...0...............
...0
...
nnnn
n
n
baa
baa
baaa
A
.,, 11
1
11
1
11
11 blbbalaa
a
al iiijiijij
ii
222
3
2
3
2
3
2
33
1
2
1
2
1
23
1
22
11131211
2
...00..................
...00
...0
...
nnnn
n
n
n
baa
baa
baaa
baaaa
A
![Page 62: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/62.jpg)
• Atlikus n-1 žingsnį, gaunama lygčių sistema su viršutine trikampe
matrica:
• Šis pirmas Gauso metodo etapas vadinamas tiesiogine eiga.
• Antrajame Gauso metodo etape, pradedant nuo xn, iš pertvarkytosios
sistemos apskaičiuojami visi sistemos nežinomieji
• Šis antras etapas vadinamas atbuline Gauso metodo eiga.
Gauso metodas
11
2
3
2
3
2
33
1
2
1
2
1
23
1
22
11131211
1
...000..................
...00
...0
...
n
n
n
nn
n
n
n
n
ba
baa
baaa
baaaa
A
11
2
3
2
33
2
33
1
2
1
23
1
232
1
22
11313212111
..................
...
...
...
n
nn
n
nn
nn
nn
nn
bxa
bxaxa
bxaxaxa
bxaxaxaxa
.1,...,2,1 ,/)(
,
1
1
11
1
1
nniaxabx
a
bx
iii
n
ik
kiik
iii
nnn
nn
n
![Page 63: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/63.jpg)
• Renkantis vieną ar kitą skaitinį metodą uždavinio sprendimui yra
atsižvelgiama ir į tų metodų skaičiavimų apimtis.
• Apskaičiuokime, kiek aritmetinių veiksmų atliekama sprendžiant n
lygčių sistemą Gauso metodu.
• Sakykime, kad daugybos (dalybos) ir sudėties (atimties) veiksmus
kompiuteris atlieka vienodu greičiu. Atskirai apskaičiuokime atlieka-
mu daugybų (dalybų) ir sudėčių (atimčių) skaičius: D ir S.
• Tiesioginės eigos metu atliekama
daugybų ir dalybų.
Pasinaudodami formule gauname, kad
Analogiškai gauname, kad
Taigi, tiesioginės eigos metu atliekama
Gauso metodo skaičiavimų apimtis
1
1
1 ))1)(()((n
k
knknknD
n
i
nnni
1
2
6
)12)(1(
.6
)52)(1()11)((
1
1
1
n
k
nnnknknD
.6
)22)(1()1)((
1
1
1
n
k
nnnknknS
).didelis kai(3
2
6
7
2
1
3
2
6
)74)(1( 32311 nnnnn
nnnSD
![Page 64: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/64.jpg)
• Atbulinės eigos metu atliekama
daugybų ir dalybų.
• Analogiškai gauname, kad
• Taigi atbulinės eigos metu atliekama veiksmų.
• Taigi bendroji Gauso metodo skaičiavimų apimtis
• Pastebėkime, kad dideliems n beveik visas skaičiavimų darbas yra
atliekamas tiesioginės eigos metu.
• Palyginimas su Kramerio (determinantų) metodu. Pagal metodo
formules reikia apskaičiuoti n+1 determinantą (n-os eilės). Skaičiuo-
jant determinantus pagal apibrėžimą, bendras veiksmų skaičius yra
lygus (n+1)n!= (n+1)!.
• Pavyzdžiui, kai n = 20, tai 21! ≈ 5,1·1019.
Gauso metodo skaičiavimų apimtis
2
)1()1(
11
2
nniknD
n
i
n
k
222 nSD
.2
)1()(
1
1
1
1
2
nniknS
n
i
n
k
).didelis kai(3
2
6
7
2
3
3
2 3232211 nnnnnSDSD
![Page 65: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/65.jpg)
• Sistemos koeficientas, esantis matricos įstrižainėje – akk (k-jame
žingsnyje), vadinamas pagrindiniu elementu.
• Skaičiuojant kompiuteriu, kai gaunamas artimas nuliui pagrindinis
elementas, tai dalyba iš jo: - padidina apvalinimo paklaidas.
• Todėl pagal 2-ąją stabiliųjų algoritmų sudarymo taisyklę Gauso me-
todo algoritmuose naudojami įvairiausi pagrindinio elemento parin-
kimo būdai.
• 1 būdas. Pagrindinis elementas išrenkamas iš stulpelio koeficientų:
k-ame žingsnyje k-ame stulpelyje randamas didžiausias moduliu koe-
ficientas:
k-oji ir m-oji lygtys sukeičiamos vietomis, t.y. amk tampa pagrindiniu
elementu.
• Šio parinkimo būdo dažnai nepakanka – gali atsitikti, kad visi vieno
stulpelio koeficientai yra maži skaičiai.
Gauso metodo pagrindinio elemento parinkimo būdai
kk
ikik
a
al
.||||max mkiknik
aa
![Page 66: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/66.jpg)
• 2 būdas. Pagrindinis elementas išrenkamas iš eilutės koeficientų:
k-ame žingsnyje k-oje eilutėje randamas didžiausias moduliu koefi-
cientas:
k-is ir m-is stulpeliai sukeičiami vietomis (nežinomieji pernume-
ruojami!), t.y. akm tampa pagrindiniu elementu.
• 3 būdas. Sudėtingesnis, bet geresnis: a) Lygtys normuojamos, t.y. dalinamos iš didžiausio moduliu koe-
ficiento:
b) Lygtys sukeičiamos vietomis taip, kad k-ąja lygtimi taptų ta, kurios koeficientų modulių suma yra mažiausia (k↔m):
c) Pagrindiniu elementu išrenkamas didžiausias moduliu eilutės koeficientas,
t.y. stulpeliai sukeičiami (k↔m), nežinomieji pernumeruojami.
Gauso metodo pagrindinio elemento parinkimo būdai
.||||max kmkjnjk
aa
.,,,|,|||max njika
aanikaa
i
iim
ijijimij
njk
.||||min
n
kj
mj
n
kj
ijnik
aa
|,|||max kmkjnjk
aa
![Page 67: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/67.jpg)
• Pavyzdys (vadovėlio 67 p.). Gauso metodu išspręskite sistemą
parenkant pagrindinį elementą antruoju būdu:
Pavyzdys (vadovėlio 68 p.). Gauso metodu išspręskite sistemą
parenkant pagrindinį elementą trečiuoju būdu:
Gauso metodo pagrindinio elemento parinkimas
43035,0
2202,0
2,12,001,0
321
31
321
xxx
xx
xxx
15,02,005,0
0202,0
12,0100100
321
321
321
xxx
xxx
xxx
![Page 68: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/68.jpg)
• Praktikoje labai dažnai sutinkamos tiesinių lygčių sistemos, kurios
turi labai daug nulinių matricos koeficientų. Pavyzdžiui, tokios sis-
temos yra gaunamos sprendžiant skaitiniais metodais diferenciali-
nius modelius.
• Nagrinėsime atvejį, kai kiekvienoje lygtyje yra nedaugiau trijų
nenulinių koeficientų – pagrindinėje matricos įstrižainėje ir abiejose
gretutinėse. Tokios sistemos vadinamos triįstrižainėmis.
• Šias sistemas galima spręsti ir su Gauso metodu, tačiau didžioji dalis
veiksmų būtų atliekama su nuliais – jų rezultatas aiškus iš anksto.
Triįstrižainės sistemos
nnnnn
iiiiiii
dxbxa
dxcxbxa
dxcxbxa
dxcxb
1
11
2322212
12111
.....................
.....................
nn
nn
ba
cb
ba
cba
cb
...000
...000
..................
00...0
00...
00...0
11
33
222
11
![Page 69: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/69.jpg)
• Modifikuosime Gauso metodą ir sudarysime perkelties metodą.
• Pirmąją lygtį daliname iš įstrižainės elemento b1 ir išreiškiame x1:
• Įstatome x1 į antrąją lygtį ir išreiškiame x2:
• Tęsiant nežinomųjų šalinimą, iš i-osios lygties išreiškiamas xi:
• Paskutinėje, n-oje, lygtyje cn=0, todėl Cn=0 ir
Perkelties metodas
.121
1
12
1
11 DxC
b
dx
b
cx
.232212
2123
212
22 DxC
aCb
aDdx
aCb
cx
.11
11
1iii
iii
iiii
iii
ii DxC
aCb
aDdx
aCb
cx
.nn Dx
![Page 70: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/70.jpg)
1. Tiesioginė eiga. Apskaičiuojami perkelties koeficientai Ci ir Di:
2. Atbulinė eiga. Randamos nežinomųjų xi reikšmes:
• Pavyzdys (75 pusl.). Perkelties metodu išspręskite triįstrižainę
lygčių sistemą
• Įvertinkime perkelties metodo skaičiavimų apimtį.
• Suskaičiuokime atskirai daugybų (dalybų) ir sudėčių (atimčių)
skaičius pirmajame ir antrajame perkelties metodo etapuose:
• Bendra skaičiavimų apimtis -
Perkelties metodo algoritmas
. ,1..,2 , , , ,1
1
1
1
11
11
1
11
nnn
nnnn
iii
iiii
iii
ii
aCb
aDdDn,i
aCb
aDdD
aCb
cC
b
dD
b
cC
.121 , , 1 ,,,nniDxCxDx iiiinn
.1 ,1 ,22 ,34 2211 nSnDnSnD
.782211 nSDSD
12
02
12
32
321
21
xx
xxx
xx
![Page 71: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/71.jpg)
• Taigi perkelties metodo skaičiavimų apimtis proporcinga 8n, t.y.
šiuo metodu triįstrižainė n-osios eilės lygčių sistema išsprendžia-
ma (1/12)n2 kartų greičiau negu Gauso metodu.
• Pavyzdžiui, naudojant kompiuterį, kurio skaičiavimo greitis yra
1 GFlops (109 operacijų su realiais skaičiais per sekundę):
• Kokios problemos gali iškilti taikant perkelties metodą?
Pagrindinės įstrižainės vyravimo sąlyga.
Jei triįstrižainės matricos pagrindinė įstrižainė yra vyraujamoji,
t.y.
ir bent su vienu i galioja griežta nelygybė (<), tai dalyba iš nulio
ar labai mažo skaičiaus perkelties metodo eigoje negalima.
Perkelties metodo algoritmas
,,...,2,1 , nibca iii
![Page 72: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/72.jpg)
• Tarkime, kad reikia išspręsti m tiesinių lygčių sistemų ,
i=1,2,...,m, kurių matrica yra ta pati, o skiriasi tik laisvieji nariai.
• Sprendžiant vieną sistemą po kitos Gauso metodu, atliktume
O(2/3mn3) aritmetinių veiksmų.
• Akivaizdu, kad tiesioginės eigos metu atlikinėtume tuos pačius
veiksmus. Kaip galima nekartoti skaičiavimų?
LU skaidos metodas:
1. Lygčių sistemos matrica A išskaidoma į dviejų trikampių matricų –
apatinės L ir viršutinės U – sandaugą (matricos L įstrižainės ele-
mentus galima parinkti laisvai, imkime vienetus):
2. Pradinės lygčių sistemos sprendinys randamas nuosekliai vieną po
kitos išsprendus dvi sistemas su trikampėmis matricomis:
LU skaidos metodas
.
,
yx
fyf
y
xfx
U
LULA
.
...00............
...0
...
1...............
0...10...01
222
11211
21
21
nn
n
n
nn u
uu
uuu
ll
lLUA
ii fx
A
![Page 73: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/73.jpg)
• Prisiminkime, kad Gauso metodo tiesioginėje eigoje pradinė siste-
mos matrica A pertvarkoma būtent į viršutinę trikampę matricą, t.y.
U apskaičiuojama pagal tas pačias formulės, k-ame žingsnyje:
• Laisvųjų narių stulpelio elementai po šių pertvarkių:
išreiškiami taip:
• Taigi apatinės trikampės matricos L elementai yra tiesioginės Gauso
metodo eigos daugikliai:
• Prisiminkime, kad tiesioginės eigos (t.y. A išskaidimo) skaičiavimų
apimtis yra O(2/3n3), trikampės sistemos sprendimo - O(n2).
• Taigi m sistemų sprendimo LU skaidos metodu skaičiavimų apimtis
yra O(2/3n3 + 2mn2). Palyginkite su Gauso metodu, kai m = n.
LU skaidos metodas
.,...,2,1 ,
.,...,2,1 ,
nkkjalaa
nkkia
al
kjikijij
kk
ikik
.,...,3,2 ,
,
,...,3,2 ,
,1
1
111
1
11
fynifyly
fy
niylfy
fy
i
i
j
jiji
i
j
jijii
L
.,...,2,1 ,1,...,2,1 , nkkinklik
yxfx
UA
![Page 74: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/74.jpg)
• Pavyzdys. LU skaidos metodu išspręskite tiesinių lygčių sistemą:
• Pavyzdys (77 pusl.). Pikaro iteraciniu metodu taikant
LU skaidos metodą išspręskite netiesinių lygčių sistemą 0,001
tikslumu:
Pastaba. Norint patikrinti tarpinių iteracijų rezultatus pagal 4 lentelę,
paimkite pradinį artinį
Ats.: (1, 2, -2) po 5 iteracijų.
LU skaidos metodo taikymo pavyzdžiai
75,144
322
75,02
321
321
321
xxx
xxx
xxx
2)2(44
4)2(22
1)1(2
2
3321
2
2321
2
1321
xxxx
xxxx
xxxx
)(1 kk xfx
A
.5,1
15,0
0
x
![Page 75: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/75.jpg)
• Jei lygčių sistemos matrica A yra simetrinė ir teigiamai apibrėžta, tai
vartojamas dvigubai spartesnis skaidos metodas vadinamas Cholec-
kio metodu. Šiuo metodu reikia saugoti dvigubai mažiau duomenų.
• Apibrėžimas. Kvadratinė matrica A vadinama simetrine, jei
aij=aji su visais i ir j (1 ≤ i, j ≤ n).
• Apibrėžimas. Kvadratinė matrica A yra teigiamai apibrėžta, jei su
bet kokiu nenuliniu vektoriumi skaliarinė sandauga yra
teigiama, t.y.
• Jei visi matricos A pagrindiniai minorai yra teigiami, tai matrica yra
teigiamai apibrėžta.
Choleckio metodas:
1. Matrica A išskaidoma į apatinės trikampės matricos L ir jos tran-
sponuotosios matricos LT sandauga: A = LLT.
2. Pradinės lygčių sistemos sprendinys randamas nuosekliai vieną po
kitos išsprendus dvi sistemas su trikampėmis matricomis:
Choleckio (kvadratinės šaknies) metodas
.
,
yx
fyf
y
xfxT
T
L
LLLA
0
x ),( xx
A
.0),( xx
A
![Page 76: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/76.jpg)
• Iš šios matricų lygybės apskaičiuojame matricos L elementus.
Pirmiausia matricą L padauginkime iš matricos LT pirmojo stulpelio:
• Dabar padauginkime matricą L iš antrojo matricos LT stulpelio:
• Šitaip radę visus L stulpelius iki j-1 imtinai, padauginkime L iš j-ojo
LT stulpelio:
Choleckio metodas: matricos L apskaičiavimas
.
...00............
...0
...
...............
0...
0...0
...............
...
...
222
12111
21
2221
11
21
22221
11211
nn
n
n
nnnnnnnn
n
n
T
l
ll
lll
lll
ll
l
aaa
aaa
aaa
LLA
.,...,3,2,
,
11
111111
111111
2
11
nkl
alall
alal
kkkk
.,...,4,3,
,
22
211222222211
2
21222222
2
22
2
21
nkl
llalallll
lalall
kkkkkk
.,...,2,1,
,
1
11
1
1
1
221
1
2
njjkl
lla
lallll
lalall
jj
j
i
jikikj
kjkjjjkj
j
i
jiki
j
i
jijjjjjjjj
j
i
ji
![Page 77: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/77.jpg)
• Matrica A turi būti teigiamai apibrėžta tam, kad visi
pošakniai būtų teigiami.
• Įvertinkime aritmetinių veiksmų skaičių, atliekamų
skaidant matrica Choleckio metodu.
• Taigi Choleckio metodo skaičiavimų apimtis yra
O((1/3)n3), t.y. dvigubai mažiau negu Gauso metodu (ir
LU skaidos metodu).
• Pavyzdys (84 pusl.). Choleckio metodu išspręskite lygčių
sistemą (patikrinkite, ar galima jį taikyti):
Ats. : (-0,219; 0,492; 0,734).
Choleckio metodas
4523
3242
13210
321
321
321
xxx
xxx
xxx
![Page 78: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/78.jpg)
• Daugelio uždavinių matematinį modelį sudaro diferencialinė
lygtis (arba dif. lygčių sistema) su papildomomis sąlygomis.
• Panagrinėsime vienmačio šilumos laidumo uždavinio sprendimą
skaitinių metodų pagalba (pusl. 57).
• Strypo, kurio ilgis yra 1, o galuose palaikoma pastovi tempera-
tūra – A ir B laipsnių, temperatūra taške x, t.y. funkcija y(x),
yra diferencialinės lygties
su kraštinėmis sąlygomis sprendinys.
• Funkcija p(x) aprašo strypo šilumos laido savybes, o q(x) ir f(x)
šilumos mainų per paviršių su išore intensyvumą.
• Kai p(x) > 0, o q(x) ≥ 0, šis uždavinys visada turi sprendinį
(vienintelį). Tačiau ne visada galime ji rasti analiziniai metodais.
• Tada taikomi specialieji skaitiniai metodai.
Šilumos laidumo uždavinio sprendimas
,xxfyxqyxp 10 ),()())((
ByAy )1( ,)0(
![Page 79: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/79.jpg)
• Sprendžiant uždavinį baigtinių skirtumų metodu, sudaromas
uždavinio apibrėžimo srities diskretusis tinklas iš atskirų (šiuo
atveju strypo) taškų.
• Pavyzdžiui, sudarykime tolygųjį diskretųjį tinklą su žingsniu h:
• Baigtinių skirtumų metodu apskaičiuojamos ieškomos funkcijos
y(x) apytikslės reikšmes yi diskretaus tinklo taškuose xi, t.y.
randamos yi ≈ y(xi), i = 0,..,n.
• Skaitinis algoritmas sudaromas taip, kad imant vis daugiau taškų
(t.y. mažesnį žingsnį h) gaunamos vis tikslesnės reikšmės yi.
• Šios reikšmės randamos iš tiesinių lygčių sistemos, kuri
sudaroma taip:
kiekviename vidiniame diskretaus tinklo taške xi sudaroma
tiesinė lygtis nežinomiesiems yi, aproksimuojant (apytiksliai
pakeičiant) diferencialinės lygties išvestines tiesinėmis
algebrinėmis formulėmis - baigtiniais skirtumais.
• Kraštiniuose tinko taškuose aproksimuojamos kraštinės sąlygos.
Baigtinių skirtumų metodas
.120 210 nhxihxhxhxx ni
![Page 80: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/80.jpg)
• Prisiminkime išvestinės apibrėžimą:
• Tada išvestinės reikšmę galime aproksimuoti (apytiksliai
pakeisti) baigtinio skirtumo pagalba:
• Šis išvestinės artinys vadinamas dešininiu skirtumu. Teiloro
eilutės pagalba galima įrodyti, kad jo paklaida
• Kairinis skirtumas ir jo paklaida:
• Centrinis skirtumas ir jo paklaida:
• Įrodykite paklaidų įverčius.
Baigtiniai skirtumai .
)()(lim)(
0 x
xyxxyxy
x
.)()()()(
)( ,
.1
xix
žymiiii
i yyh
xyxy
h
xyhxyxy
).(|)(| hOMhyxy xi
).(|)(| ,)()(
)( ,
.1 hOMhyxyyy
h
xyxyxy xixix
žymii
i
).(|)(| ,2
)()()( 22
.11 hOMhyxyy
h
xyxyxy
xi
x
žymii
i oo
![Page 81: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/81.jpg)
• Antros eilės išvestinės aproksimaciją (artinį) gauname taip:
• Jos paklaida:
• Grįžtame prie šilumos laidumo uždavinio sprendimo.
Paprastumui iš pradžių paimkime p(x) = 1, q(x) = 1.
• Diferencialinį uždavinį tinklo taškuose aproksimuojame tiesinių
lygčių sistema (dar vadinama baigtinių skirtumų schema)
nežinomųjų yi , i = 0,.., n atžvilgiu :
• Pastebėkime, kad sistemos matrica yra triįstrižainė ir ją galima
greitai išspręsti perkelties metodu!
Baigtinių skirtumų schema
.)()(2)(
)()()()(1)()(
,
.
2
11
11,1,
,
xxixx
žymiii
iiiiixix
xixi
yyh
xyxyxy
h
xyxy
h
xyxy
hh
yyyxy
).(|)(| 22 hOMhyxy xxi
,1,,1 ,
.
2
,
2
11
0
nify
Byh
yyy
Ay
ii
n
iii
![Page 82: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/82.jpg)
• Šilumos laidumo lygties narį (p(x)y')' tinklo taške xi aproksi-
muojame taip:
čia
• Tada diferencialinį uždavinį tinklo taškuose aproksimuojame
tokia baigtinių skirtumų schema nežinomųjų yi , i = 0,.., n
atžvilgiu :
• Sistemos matrica yra triįstrižainė!
• Pastebėkime, kad vidiniuose tinklo taškuose išvestinę aproksi-
muojame (pakeičiame) apytiksliu artiniu. Kokios galima tikėtis
gaunamo skaitinio sprendinio paklaidos: |y(xi) - yi |, i = 0,..,n?
Baigtinių skirtumų schema
,)(
))(())()((2
15,05,05,015,0
,5,0h
ypyppypyxpxyxp
iiiiiii
xixiii
).5,0(5,0 hxpp ii
,1,,1 ,
.
)(
,
2
15,05,05,015,0
0
nifyq
Byh
ypyppyp
Ay
iii
n
iiiiiii
![Page 83: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/83.jpg)
• Imkime p(x)=1+ x, q(x)=1, f(x)= – (1+ x) e x ir A=1, B=e:
• Pagal sudarytą baigtinių skirtumų schemą su žingsnių h = 0,25
gauname triįstrižainę lygčių sistemą, kuria galime išspręsti
perkelties metodu ir palyginti su šiuo atveju žinomų tiksliuoju
sprendiniu y(x)= e x (73 pusl., 6 pvz.):
Šilumos laidumo uždavinio sprendimo pavyzdys
.e)1( ,1)0( 10 ,e)1())1(( yy,xxyyx x
xi (h=0,25) 0,25 0,5 0,75
yi 1,2858 1,6511 2,1188
y(xi)= e xi
1,2840 1,6487 2,1170
| y(xi) - yi| 0,0018 0,0024 0,0018
xi (h=0,125) 0,125 0,25 0,375 0,5 0,625 0,75 0,875
yi 1,1334 1,2845 1,4556 1,6493 1,8688 2,1175 2,3991
y(xi)= e xi
1,1331 1,2840 1,4550 1,6487 1,8682 2,1170 2,3989
| y(xi) - yi| 0,0003 0,0005 0,0006 0,0006 0,0006 0,0005 0,0002
Kiek kartų sumažėjo paklaida? Koks ryšis su sumažėjusiu žingsniu?
![Page 84: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/84.jpg)
Iteraciniai tiesinių lygčių sistemų
sprendimo metodai
![Page 85: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/85.jpg)
Tiesinių lygčių sistemų (TLS) sprendimo metodai
• TLS sprendimo metodai, kuriais per baigtinį žingsnių skaičių
gaunamas tikslusis sprendinys, vadinami tiesioginiais.
• Gauso, determinantų (arba Kramerio), skaidos metodai yra
tiesioginiai, tačiau praktiškai tikslusis sprendinys yra gaunamas
tik tada, kai nedaroma apvalinimo paklaidų.
• Be to šiuose metoduose didinant n labai greitai auga atliekamų
aritmetinių veiksmų skaičius, pvz., Gauso metode O(2/3n3).
• Todėl tiesioginiai metodai (Gauso) praktiškai gali būti taikomi
tik sąlyginai nedidelėms (n iki 104) lygčių sistemoms spręsti.
• Toliau nagrinėsime metodus, vadinamus iteraciniais, kuriais
randamas apytikslis sprendinys bet kokių norimu tikslumu:
– Jakobio, Zeidelio, relaksacijos metodus;
– didžiausio nuolydžio, jungtinių gradientų metodus.
• Šiais metodais daugelis tiesinių lygčių sistemų išsprendžiamos
žymiai greičiau negu Gauso metodu (ypač, jei dauguma
sistemos matricos koeficientų yra nuliai).
![Page 86: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/86.jpg)
Jakobio metodas
• Tiesinių lygčių sistemą
pertvarkoma, išreiškiant xi iš i-tosios lygties, t.y.
nnnnnn
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
...
...........................................
...
...
2211
22222121
11212111
)...(1
...........................................
)...(1
)...(1
11,11
21212
22
2
12121
11
1
nnnnn
nn
n
nn
nn
xaxaba
x
xaxaba
x
xaxaba
x
![Page 87: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/87.jpg)
Jakobio metodas
• Tarkime, kad
yra duotosios lygčių sistemos sprendinio pradinis artinys.
• Jeigu apie jį nieko nežinoma, dažnai imama, kad
• Jakobio iteracinis procesas nusakomas formulėmis
• Skaičiavimas baigiamas, kai atstumas tarp artinių ir bus
mažesnis už norimą tikslumą ε, pvz. maksimumo normoje:
0
0
2
0
1
0
...
nx
x
x
x
. ,...,, max 11
22
1
11
1
k
n
k
n
kkkkkk xxxxxxxx
.00
x
nnknnn
knn
kn
knn
kk
knn
kk
axaxabx
axaxabx
axaxabx
/)...(
...........................................
/)...(
/)...(
111,
111
221
21
12122
111
11
21211
kx 1kx
![Page 88: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/88.jpg)
Jakobio metodas
Pavyzdys (vadovėlio 88-89 pusl.). Jakobio metodu išspręskime
tiesinių lygčių sistemą 0,0001 tikslumu
Pertvarkome lygčių sistemą , išreiškiant xi iš i-tosios lygties:
Pasirenkame pradinį artinį – vektorių ir apskaičiuojame
pirmąjį artinį ir jo paklaidą.
Kadangi šioje iteracijoje reikalaujamas tikslumas nepasiektas,
tęsiame skaičiavimus toliau, kol jį pasieksime.
Pastaba. Tikslusis šios lygčių sistemos sprendinys yra
14102
453202
11310
321
321
321
xxx
xxx
xxx
4,11,02,0
25,215,01,0
1,13,01,0
213
312
321
xxx
xxx
xxx
00
x1x
.121
tsx
![Page 89: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/89.jpg)
Jakobio metodo konvergavimas
• Klausimas: kada Jakobio metodas konverguoja? Ar visada?
• Atlikite keletą iteracijų sprendžiant vadovėlio 91 pusl. 2 pavyzdį:
• Paklaida nemažėja – Jakobio metodas diverguoja.
6,01,02,06,01,0
9832
2,12,03,01,09,0
272
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
![Page 90: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/90.jpg)
Jakobio metodo konvergavimas
• Teorema (Jakobio metodo konvergavimo sąlyga).
Jei tiesinių lygčių sistemos įstrižainės koeficientų moduliai yra
didesni už kitų atitinkamos eilutės koeficientų modulių sumą, t.y.
tai Jakobio metodas konverguoja, t.y.
• Ši sąlyga yra tik pakankama. Ji vadinama įstrižainės vyravimo są-
lyga, o sistemos, kuriai ši sąlyga galioja, įstrižainė – vyraujamąja.
• Įrodykime šią teoremą.
• Kai teoremos sąlyga netenkinama ir Jakobio metodas diverguoja,
galima bandyti taip sukeisti sistemos lygtis vietomis, kad ši sąlyga
galiotų.
• Išspręskite vadovėlio 91 pusl. 2 pavyzdį.
,,..,1 ,......1
1,1,21 niaaaaaaan
ij
jijiniiiiiiii
.ts
k
k xx
![Page 91: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/91.jpg)
Zeidelio metodas
• Kaip ir Jakobio metodu tiesinių lygčių sistemą pertvarkoma,
išreiškiant xi iš i-tosios lygties. Šias lygtis galima užrašyti taip:
• Zeidelio iteracinio proceso naujoje k-oje iteracijoje jau
apskaičiuotos (patikslintos) xi reikšmės naudojamos toje pa-
čioje iteracijoje kitoms xj (j=i+1,...,n) reikšmėms tikslinti:
t.y. Zeidelio iteracinis procesas nusakomas formulėmis
.,...,1 ,/)(11
nixabaxabxn
ij
jjijiii
n
ij
jjijii
.,...,1 ,
1
11
1
nixaxabx
n
ij
kjij
i
j
kjiji
ki
nnknnn
kn
knn
kn
knn
kkk
knn
kkk
axaxaxabx
axaxaxabx
axaxaxabx
/)...(
...........................................
/)...(
/)...(
11,2211
221
21
32312122
111
11
3131
21211
![Page 92: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/92.jpg)
Zeidelio metodas
Pavyzdys (vadovėlio 93-94 pusl.). Zeidelio metodu išspręskime
tiesinių lygčių sistemą 0,0001 tikslumu
Pertvarkome lygčių sistemą, išreiškiant xi iš i-tosios lygties:
Pasirenkame pradinį artinį – vektorių ir apskaičiuojame
pirmąjį artinį ir jo paklaidą.
Kadangi šioje iteracijoje reikalaujamas tikslumas nepasiektas,
tęsiame skaičiavimus toliau, kol jį pasieksime.
Pastebėkime, kad Zeidelio metodu gaunami sprendinio artiniai
yra arčiau tiksliojo sprendinio nei Jakobio metodo artiniai.
14102
453202
11310
321
321
321
xxx
xxx
xxx
4,11,02,0
25,215,01,0
1,13,01,0
213
312
321
xxx
xxx
xxx
00
x1x
tsx
kx
![Page 93: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/93.jpg)
Zeidelio metodo konvergavimas
• Kaip ir kada konverguoja Zeidelio metodas?
• Kaip ir Jakobio metodas, Zeidelio metodas konverguoja, jei
sistemos įstrižainė yra vyraujamoji (pabandykite tai savaran-
kiškai įrodyti).
• Tačiau šių dviejų metodų konvergavimo sritys nesutampa –
yra tokių lygčių sistemų, kurioms Jakobio metodas konver-
guoja, o Zeidelio metodas diverguoja ir, atvirkščiai, yra tokių
sistemų, kurioms Zeidelio metodas konverguoja, o Jakobio
metodas diverguoja.
• Pavaizduokite schematiškai ryšį tarp dviejų metodų
konvergavimo sričių.
• Galima įrodyti, toms kad sistemoms, kurioms konverguoja abu
metodai, tas pats tikslumas Zeidelio metodu pasiekiamas
maždaug dvigubai greičiau.
![Page 94: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/94.jpg)
Jakobio ir Zeidelio algoritmų sudėtingumas
• Kiek aritmetinių veiksmų atliekame apskaičiuojant vieną
Jakobio arba Zeidelio metodo iteraciją?
• Kai sistemos matrica yra pilna:
O(n2).
• O jeigu matricoje dauguma koeficientų yra nuliniai ir yra tik
keletas nenulinių įstrižainių, pavyzdžiui, kiekvienoje eilutėje
yra nedaugiau kaip k nenulinių koeficientų:
O(kn).
• Dideliems n norimas tikslumas paprastai pasiekiamas greičiau
negu po n iteracijų, pavyzdžiui, po m iteracijų (m << n).
• Kokį gauname viso algoritmo sudėtingumą?
O(mkn)
• Palyginkite su Gauso metodu.
![Page 95: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/95.jpg)
Relaksacijos metodas
• Jakobio ir Zeidelio metodų pagrindu sudaromi ir kiti iteraciniai metodai. Panagrinėkime vieną tokį metodą, vadinamą relaksa-cijos metodu.
• Kaip ir Jakobio metodu tiesinių lygčių sistemą pertvarkoma, išreiškiant xi iš i-tosios lygties, t.y.
• (k+1)–ojo sistemos sprendinio artinio i-ąją komponentę apskaičiuojame per 2 žingsnius:
• Skaičius ω vadinamas relaksacijos parametru.
• Kai ω=1, relaksacijos metodas sutampa su Zeidelio metodu.
.,...,1 ,/)(1
niaxabx ii
n
ij
jjijii
,/)(~ )1
1
1
1
11ii
n
ij
kjij
i
j
kjiji
ki axaxabx
1kix
.,,2,1i ),~( )2 11 nxxxx ki
ki
ki
ki
![Page 96: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/96.jpg)
Relaksacijos metodas
• Kada relaksacijos metodas konverguoja?
• Teorema. Jei tiesinių lygčių sistemos matrica A yra simetrinė ir
teigiamai apibrėžta, o relaksacijos parametras , tai
relaksacijos metodas konverguoja su bet kokiu pradiniu artiniu.
• Pastaba. Ši sąlyga yra pakankama, bet nebūtina, t.y. matrica A
nebūtinai turi būti simetrinė ir teigiamai apibrėžta.
• Galima įrodyti, kad jei konverguoja Jakobio metodas, tai
konverguoja ir relaksacijos metodas su bet kokiu
• Kaip relaksacijos metodo konvergavimo greitis priklauso nuo ω?
• Panagrinėkime 5 pavyzdį (97 pusl.). Relaksacijos metodu
išspręskime sistemą:
• Tikslumas ε =0,0001 pasiekiamas
)2 ;0(
05,0 95,0
1,095,0295,0
05,0 95,0
32
321
21
xx
xxx
xx
ω 1 1,5 1,6 1,7 1,8
Iteracijų skaičius 92 23 20 27 40
).2 ;0(
![Page 97: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/97.jpg)
Relaksacijos metodas
• Kaip rasti optimalųjį relaksacijos parametrą ωo, su kuriuo relak-
sacijos metodas konverguoja greičiausiai?
• Išskleiskime matricą A = – L + D – R ,
čia L ir R yra kairioji ir dešinioji trikampė matricos A dalis (su
minuso ženklu), o D – įstrižaininė dalis.
• Ap. Matricos A spektriniu spinduliu ρ(A) vadinamas didžiau-
sias matricos A tikrinės reikšmės modulis:
• Teorema. Relaksacijos metodo parametro optimalioji reikšmė
yra lygi
čia
• Pastaba. Matricos spektro radimas savaime yra netrivialus
uždavinys, kurį vėliau spręsime specialiais skaitiniais metodais.
• Panagrinėkite 6 pavyzdį (98 pusl.). Raskite optimalųjį relaksaci-
jos parametrą ωo. Kiek reikia iteracijų?
,)(11
22
B
o
).(1RLDB
.|)(|max)(1
AA ini
![Page 98: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/98.jpg)
• Egzistuoja įvairiausi iteraciniai metodai. Kaip jie klasifikuojami?
• Iteracinis metodas užrašomas matricinės lygties pavidalu
kur B yra iteracijos žingsnio matrica, o τ – iteracinis parametras,
kuris vadinamas iteracinio metodo kanoniniu pavidalu.
• Gaukime Jakobio metodo kanoninį pavidalą:
• Ap. Jei matrica B ir iteracinis parametras τ nepriklauso nuo itera-
cijos numerio k, tai iteracinis metodas vadinamas stacionariu.
• Jei B = Bk arba τ = τk, tai iteracinis metodas vadinamas nestacio-
nariu.
• Jei B = E, tai iteracinis metodas vadinamas išreikštiniu,
jei B ≠ E, tai neišreikštiniu.
• Gaukite Zeidelio metodo kanoninį pavidalą ir klasifikuokite jį.
Iteracinių metodų kanoninis pavidalas
.1
fxxx k
kk
AB
.1
1
fxxx k
kk
AD
![Page 99: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/99.jpg)
Matricos norma
.||||||ir ||max||||1
1
1
1
n
i
i
n
i
ijj
xxa
A
Ap. Matricos A norma vadinamas skaičius, žymimas ||A||, turintis šias
savybes:
1. ||A|| > 0, jei A ≠O, ir ||O|| = 0;
2. ||cA|| = |c|·||A||, čia c – skaičius;
3. ||A+B|| ≤ ||A|| + ||B||;
4. ||AB|| ≤ ||A||·||B||.
Ap. Vektoriaus norma yra suderinta su matricos norma, jei
Matricos normų pavyzdžiai ir su jomis suderintos vektorinės normos:
(įrodykite)
(įrodykite) .||max||||ir ||max||||1
ii
n
j
iji
xxa
A
simetrinė matrica jei|,)(|max||||
||||||,|)(|max||||
1|2
1
2
2
*
12
AAA
AAA
ini
n
i
iini
xx
.|||||||||||| xx
AA
![Page 100: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/100.jpg)
Stacionarių iteracinių metodų pakankama konvergavimo sąlyga
Teorema. Jei stacionarus iteracinis metodas tenkina sąlygą
||E - τ B-1A|| ≤ q < 1,
tai jis konverguoja su bet kokiu pradiniu artiniu.
• Įrodykime.
• Kaip taikoma šita sąlyga? Su įvairiausiomis matricinėmis
normomis iš jos gaunami atskiri pakankamos sąlygos variantai.
• Pavyzdžiui, su antra matricos norma gauname tokia teoremą.
Teorema. Tegu matrica B-1A yra simetrinė. Jei visų matricos
C = E - τ B-1A tikrinių reikšmių moduliai yra mažesni už vienetą,
tai iteracinis metodas konverguoja su bet kokiu pradiniu artiniu.
• Nesunku pastebėti, kad matricos C tikrinės reikšmės išreiškiamos
per matricos B-1A tikrines reikšmes:
1, |)(|max||||1
2
CC ini
.)(1)( 1ABC
ii
![Page 101: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/101.jpg)
Stacionarių iteracinių metodų konvergavimas
Pažymėkime mažiausiąją matricos B-1A tikrinę reikšmę λm, o
didžiausiąją – λM, t.y. Tarkime, kad λm > 0.
Tada iteracinis procesas konverguoja, jei
Su kokiu τ iteracinis procesas konverguoja greičiausiai?
Teorema. Stacionaraus iteracinio metodo optimalioji iteracinio
parametro reikšmė τo, su kuria konvergavimo greitis yra didžiausias,
yra lygi
Kai λm ir λM nėra žinomos, jų apskaičiavimas yra sunkus (didelės skai-
čiavimų apimties) uždavinys, kurį spręsime specialiais metodais.
Iteracinio proceso konvergavimo greitį nusakanti matricos C norma:
Išspręskime 9 pavyzdį 107 vadovėlio puslapyje.
.2
0Mm
.)( 1
Mim AB
.2
0M
.)|1||,1|max( |1|max|||| 0001
2mM
mMMmi
ni
C
![Page 102: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/102.jpg)
Išreikštinis stacionarusis iteracinis metodas 9 Pavyzdys (vadovėlio 107 pusl.). Išspręskime tiesinių lygčių sistemą
0,001 tikslumu išreikštiniu stacionariuoju metodu su optimaliuoju
iteraciniu parametru:
Kaip gauname šio metodo išraišką?
Kanoniniame pavidale paėmę B = E, gauname
Toliau turime rasti didžiausią ir mažiausią tikrines reikšmes
(patikrinkite, ar matrica A yra simetrinė ir teigiamai apibrėžta)
Gauname:
Pasirenkame pradinį artinį – vektorių
ir apskaičiuojame pirmąjį artinį ir jo paklaidą:
Kadangi šioje iteracijoje reikalaujamas tikslumas nepasiektas,
tęsiame skaičiavimus toliau, kol jį pasieksime. Tikslusis šios lygčių
sistemos sprendinys yra
95,3295,0
42
95,395,02
321
321
321
xxx
xxx
xxx
).(1 fxτxx k
o
kk
A
.)()( 1
Miim AAB
.40404,0 3,96685ir 98135,0 oMm T0 )5,0 ;0,5 ;5,0(x
.ir 011 xxx
.)1 ;1 ;1( Ttsx
![Page 103: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/103.jpg)
Stacionarių iteracinių metodų konvergavimas
Iteracinių metodų konvergavimo greičio tyrimuose dažnai naudojama
dar viena matricų charakteristika.
Ap. Simetrinės, teigiamai apibrėžtos matricos sąlygotumo skaičiumi
η vadinamas matricos mažiausios ir didžiausios tikrinės reikšmės
santykis, t.y.
Kokias reikšmes gali įgyti η?
Tada matricos C = E – τ0 B-1A normą, kuri yra lygi jos spektriniam
spinduliui, kai C yra simetrinė, galima užrašyti taip
Kada iteracinis metodas konverguoja greičiau, o kada lėčiau?
Kam lygus 9 pavyzdžio matricos A sąlygotumo skaičius?
Kiek kartų mažėja paklaida kiekviename žingsnyje?
.M
m
.1
1)(|||| 2
mM
mMCC
![Page 104: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/104.jpg)
Variaciniai metodai
• Tarp iteracinių tiesinių lygčių sistemų sprendimo metodų yra išskiriama variacinių metodų grupė.
• Variacinių metodų idėja: tiesinių lygčių sistemų sprendimo uždavinys pakeičiamas minimizavimo uždaviniu.
• Toliau nagrinėsime tik tiesinių lygčių sistemas kurių matrica A yra simetrinė ir teigiamai apibrėžta.
• Tokiu atveju sistemos sprendimas yra ekvivalentus kvadratinės formos
minimizavimo uždavinio sprendimui.
• Iš tiesų, kadangi matrica A yra teigiamai apibrėžta, tai
todėl formos minimumo vektorius sutampa su lygčių siste-mos sprendiniu.
xyxyyQ
),()( A
, jei,0)(
, jei,0)(
xyyQ
xyyQ
,fx
A
)(yQ
fx
A
![Page 105: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/105.jpg)
Bendras variacinių metodų pavidalas • Sakykime, kad yra žinomas lygčių sistemos sprendinio
artinys Tikslesnį artinį ieškosime tokio pavidalo:
čia yra kažkoks žinomas vektorius, vadinamas krypties vektoriumi.
• Skirtingai apibrėžiant gaunami skirtingi variaciniai metodai.
• Iteracinis parametras τk yra kvadratinės vieno kintamojo funkcijos minimizavimo uždavinio sprendinys:
• Kadangi A yra teigiamai apibrėžta matrica, tai koeficientas prie τ2 yra teigiamas. Todėl funkcija qk(τ) mažiausią reikšmę įgyja taške
,1 k
k
kk pxx
);(min)(min)(
k
kkk
k
k qpxQpxQ
., ,2 ,)( 2 xxfxpfxppq kkkkkk
k
AAA
.,
,kk
kk
kpp
pfx
A
A
fx
A.kx
1kx
kp
,kp
![Page 106: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/106.jpg)
Didžiausio nuolydžio metodas (angl. method of steepest descent arba gradient decent)
• Iš matematinės analizės žinoma, kad kelių kintamųjų funkcija tam
tikram taške didžiausiu greičiu (lokaliai) mažėja kryptimi, priešinga
gradiento krypčiai tame taške.
• Todėl didžiausio nuolydžio metode iš taško ieškant naujo artinio
tašką judama kryptimi
t. y. imamas krypties vektorius
ir pagal bendrą pavidalą
• Pastebėkime, kad užduoda tik judėjimo kryptį, o iteracijos metu
nueinamas atstumas nepriklauso nuo ilgio (pvz, padauginkit iš 2).
• Šį atstumą pilnai nusako iteracinis parametras τk, kuris gaunamas iš
bendro variacinių metodų pavidalo.
,)(2
1fxxQp kkk
A
),( kxQ
,1 k
k
kk pxx
.0,
,
kk
kk
kpp
pfx
A
A
kx
1kx
kp
kp
![Page 107: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/107.jpg)
1. Didžiausio nuolydžio metodo algoritmas 1. Pradinio artinio parinkimas. Pasirenkamas k = 0.
2. Naujo artinio skaičiavimas. Apskaičiuojami krypties vektorius,
iteracinis parametras ir naujasis artinys
3. Tikslumo tikrinimas. Jei tai skaičiavimai baigiami,
kitaip k := k+1 ir grįžtame į 2 žingsnį.
• Pastebėkime, kad šiame algoritme daugiausiai veiksmų reikalau-
janti operacija - matricos ir vektoriaus sandauga. Kiek?
• Matricos ir vektoriaus sandauga skaičiuojama du kartus, t.y.
vienos iteracijos skaičiavimo kaštai maždaug padvigubėja
palyginus su prieš tai nagrinėtas metodais.
.1 k
k
kk pxx
,,
,kk
kk
kpp
pp
A
,fxp kk
A
,1 kk xx
,0x
![Page 108: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/108.jpg)
2. Didžiausio nuolydžio metodo algoritmas
Ap. Vektorius vadinamas artinio netiktimi.
Pastebėkime, kad
Didžiausio nuolydžio metode todėl galime panaudoti šią for-mulę apskaičiavimui ir išvengti vienos sandaugos - apskaičia-vimo kiekvienoje iteracijoje!
Be to artinio paklaidos įvertinimui galima naudoti skaliarinę sandaugą
Pradinio artinio parinkimas. Pasirenkamas apskaičiuojami
Ciklas kol
ciklo pabaiga
, , 11 k
k
kkk
k
kk rpppxx
,,
, ,
kk
kk
k
kk
pr
pppr
A
. kai ,0 nes ,),(),(2
2
2xxzzzzpp
k
kkkkkkk
1: kk
Ką dar galima pagerinti šiame algoritme?
fxz kk
A kx
.)(11 k
k
kk
k
kkk pzfpxfxz
AAA
,kk zp
kp
kx
A
kx
,0x
.0 ),,(ir 0000 kppfxp
A2),( kk pp
![Page 109: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/109.jpg)
Didžiausio nuolydžio metodo taikymo pavyzdys
Pavyzdys (vadovėlio 115 pusl.). Išspręskime tiesinių lygčių sistemą
0,00001 tikslumu
Ar galime taikyti didžiausio nuolydžio metodą?
Pasirenkame pradinį artinį – vektorių ir apskaičiuojame
pirmąjį artinį ir jo paklaidą:
Kadangi šioje iteracijoje reikalaujamas tikslumas nepasiektas,
tęsiame skaičiavimus toliau, kol jį pasieksime.
Pastaba. Tikslusis šios lygčių sistemos sprendinys yra
95,3295,0
42
95,395,02
321
321
321
xxx
xxx
xxx
00
x
Tx )995754,0 ;008359,1 ;995754,0(1
.111
tsx
![Page 110: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/110.jpg)
Didžiausio nuolydžio metodo savybės • Pastebėkime, kad kiekvienas naujas krypties vektorius yra
statmenas prieš tai buvusiam (įrodykite).
• Kai n = 2, galime pavaizduoti didžiausio nuolydžio metodą grafiškai
lygio linijų pagalba. constcyyQyQ ),()( 21
1kp
0),( : 1 kkk ppp
![Page 111: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/111.jpg)
Didžiausio nuolydžio metodo konvergavimas
• Gaukime šio metodo kanoninį pavidalą:
Teorema. Kai matrica A yra simetrinė ir teigiamai apibrėžta,
didžiausio nuolydžio metodas konverguoja su bet kokiu pradiniu
artiniu ir konvergavimo greitis įvertinamas nelygybe:
čia
o norma ||·||A apibrėžiama tokia lygybe:
• Iš šios teoremos išplaukia, kad didžiausio nuolydžio metodas
blogiausiu atveju konverguoja tokiu pačiu greičiu, kaip ir
stacionarus iteracinis metodas su optimaliuoju parametru τ0 ir
nereikia žinoti λM ir λm !
.1
fxxx k
k
kk
A
,||||...|||||||| 011
AAA xxxxxx kkk
,1
1)(
mM
mMA
.),(|||| yyy
AA
,)( Mim A
![Page 112: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/112.jpg)
Jungtinių vektorių sistema
Ap. Du vektoriai yra jungtiniai matricos A atžvilgiu, jei
Ap. Sakysime, kad vektoriai sudaro matricos A atžvil-giu jungtinių vektorių sistemą, jei
Teorema. Jei matrica A yra simetrinė ir teigiamai apibrėžta, o vektoriai sudaro matricos A atžvilgiu jungtinių vekto-rių sistemą, tai ne daugiau kaip per n iteracijų su bet kokiu pradiniu vektoriumi iteraciniu (variaciniu) metodu
gaunamas tikslusis tiesinių lygčių sistemos sprendinys (jei nedaroma apvalinimo paklaidų).
• Nors šis metodas teoriškai yra tiesioginis, dažniausiai jis vartoja-mas kaip iteracinis, nes reikiamas tikslumas pasiekiamas daug greičiau, nei per n iteracijų (ypač kai n yra didelis).
. ,0),( kmpp km
A
.0),( qp
A
,),(
),(,1
kk
kk
k
k
k
kk
pp
pfxpxx
A
A
qp
ir
110 ,..., , nppp
110 ,..., , nppp
fx
A
0x
![Page 113: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/113.jpg)
Jungtinių gradientų metodas
(angl. conjugate gradient method)
• Kaip surasti krypties vektorius kurie sudary-
tų matricos A jungtinių vektorių sistemą?
• Vieną tokią sistemą sudaro visi matricos A tikriniai vekto-
riai (patikrinkite), tačiau visų jų radimas yra labai sudėtin-
gas uždavinys, kurio sprendimas pareikalautų žymiai dau-
giau skaičiavimų (t.y. laiko) negu pačios lygčių sistemos
sprendimas, pavyzdžiui, didžiausio nuolydžio metodu.
• Tačiau buvo rastas metodas, kuris kiekvienoje iteracijoje
leidžia efektyviai (su viena matricos ir vektoriaus sandau-
ga) apskaičiuoti naujus sprendinio artinius ir jungtinius
krypties vektorius
• Šis metodas vadinamas jungtinių gradientų metodu.
Toliau pateiksime jo algoritmą.
, ,..., , 110 nppp
kx
.kp
![Page 114: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/114.jpg)
Jungtinių gradientų metodo algoritmas 1. Pradinio artinio parinkimas. Pasirenkamas ir apskaičiuojamas
vektorius Iteracijų skaitiklis k = 0.
2. Naujo artinio skaičiavimas. Apskaičiuojami iteracinis paramet-
ras, naujasis artinys ir netiktis:
3. Tikslumo tikrinimas. Jei tai skaičiavimai baigiami, jei ne, tai einama į 4 žingsnį.
4. Naujojo jungtinio vektoriaus skaičiavimas.
Pastaba. Atkreipkime dėmesį, kad efektyviai algoritmo realizacijai
reikia saugoti tik 4 vektorius. Patartina saugoti ir skaliarinę sandaugą,
kuri vartojama net 4 kartus.
.kk žingsnį 2 į grižtamair 1:
0x
.000 fxzp
A
,),(
),(
),(
),( ,
kk
kk
kk
kk
k
kk
pr
zz
pr
pfxpr
A
A
. , 11 kk
kkkk
kk rzzpxx
,), ( 211 kk zz
, ,),(
),( 1111
kk
kk
kk
kk
k pzpzz
zz
![Page 115: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/115.jpg)
Jungtinių gradientų metodo taikymo pavyzdys
Pavyzdys (vadovėlio 115 pusl.). Išspręskime tiesinių lygčių sistemą
0,00001 tikslumu
Ar galime taikyti jungtinių gradientų metodą?
Pasirenkame pradinį artinį – vektorių ir apskaičiuojame
pirmąjį artinį ir jo paklaidą.
Kadangi šioje iteracijoje reikalaujamas tikslumas nepasiektas,
tęsiame skaičiavimus toliau, kol jį pasieksime.
Palyginkite gaunamus artinius su didžiausio nuolydžio metodu
gaunamais artiniais.
Pastaba. Tikslusis šios lygčių sistemos sprendinys yra
95,3295,0
42
95,395,02
321
321
321
xxx
xxx
xxx
00
x1x
.111
tsx
![Page 116: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/116.jpg)
Jungtinių gradientų metodo savybės
• Jungtinių gradientų metodo konvergavimo greitis yra žymiai
didesnis negu didžiausio nuolydžio metodo.
• Kai n = 2, sistemos sprendinį gauname
po 2 iteracijų (jeigu skaičiuoti be
apvalinimo paklaidų):
• Pastebėkime, kad pirmieji artiniai
jungtinių gradiento metodo (raudonai)
ir didžiausio nuolydžio metodo (žaliai)
sutampa!
![Page 117: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/117.jpg)
Jungtinių gradientų metodo konvergavimo greitis • Šio metodo konvergavimo greitis yra žymiai didesnis negu
didžiausio nuolydžio metodo:
čia
• Iteracijų skaičius, per kurį pradinė paklaida sumažėja 1/ε kartų, yra
o didžiausio nuolydžio metodo
,||||2|||| 0
AA xxqxx kk
.mažas kai ,211
1 m
M
q
,mažas kai ,2
)/2ln(
)21ln(
)/2ln(
)/1ln(
)/2ln(0
qk
.mažas kai ,2
)/1ln(
)21ln(
)/1ln(
)/1ln(
)/1ln(0
qk
![Page 118: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/118.jpg)
Uždaviniai savarankiškam darbui
1. Jakobio ir Zeidelio metodais išspręskite tiesinių lygčių sistemą vienos šimtosios tikslumu. Palyginkite iteracijų skaičių.
Ats.: tikslusis sprendinys -
2. Didžiausio nuolydžio ir jungtinių gradientų metodais išspręskite tiesinių lygčių sistemą 0,00001 tikslumu. Palyginkite iteracijų skaičių.
Ats.:
3. Uždaviniai iš vadovėlio 4-o skyriaus.
252
926
44
321
321
321
xxx
xxx
xxx
.111
tsx
5,1252
2,217
8,924
321
321
321
xxx
xxx
xxx.
74112,412897,303831,4
![Page 119: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/119.jpg)
Interpoliavimas ir aproksimavimas
![Page 120: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/120.jpg)
• Sakydami, kad dydis y yra dydžio x funkcija f(x) (žym. y = f(x)),
turime omenyje, kad yra apibrėžta (žinoma) atitiktis, pagal kurią
kiekvieną dydžio x reikšmę iš apibrėžimo srities atitinka kažkokia
dydžio y reikšmė.
• Daugelyje praktinių uždavinių ši atitiktis žinoma tik su atskiromis
x reikšmėmis, t.y žinoma tik reikšmių lentelė
• Tarkime, kad šios funkcijos f(x) reikšmės gaunamos brangiai
kainuojančiu arba neįmanomu pakartoti eksperimentu.
• Kaip apskaičiuoti funkcijos y = f(x) reikšmę, kuriame nors tarpi-
niame taške? Šis uždavinys vadinamas funkcijos interpoliavimu.
• Jį spręsime specialiais skaitiniais metodais.
Funkcijų interpoliavimas
n
n
yyyxf
xxxx
...)(
...
10
10
![Page 121: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/121.jpg)
Ap. Funkcijos φ(x), tenkinančios lygybes φ(xi) = f(xi), i = 0,1,..., n,
sudarymo ir tarpinių reikšmių apskaičiavimo uždavinys yra vadina-
mas interpoliavimo uždavinių.
Šios lygybės vadinamos interpoliavimo sąlyga, taškai x0, x1,.., xn
vadinami interpoliavimo mazgais, o funkcija φ(x) – interpoliacine
funkcija.
• Reikiamos tarpinės reikšmės apskaičiuojamos iš sudarytos inter-
poliacinės funkcijos φ(x).
• Nagrinėsime būdus kaip sudaryti interpoliacinę funkciją, kai iš
anksto pasirenkama, kad ji turi būti pirmojo laipsnio (tiesinis) arba
antrojo laipsnio (kvadratinis) daugianaris.
• Jei žinoma n+1 funkcijos f(x) reikšmė, tai galima sudaryti n-ojo
laipsnio interpoliacinį daugianarį:
•Kodėl?
Funkcijų interpoliavimo uždavinys
.)( 01
11
1 axaxaxaxL nn
nnn
![Page 122: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/122.jpg)
• Sudarykime pirmojo laipsnio (tiesinį) interpoliacinį daugianarį L1(x).
• Sakykime, kad reikia apskaičiuoti funkcijos f(x) reikšmę taške x.
• Randame mazgus xi, xi+1, tarp kurių yra duotas taškas x.
• Sudarome, tiesės einančios per taškus (xi, f(xi)), (xi+1, f(xi+1)) lygtį:
• Šią tiesės lygtį ir vadinsime tiesinio interpoliavimo formule, o
pirmojo laipsnio daugianarį – tiesinių interpoliaciniu daugianariu:
• Jis yra apibrėžtas intervale [xi, xi+1] ir tinka skaičiuoti tarpines
reikšmes šiame intervale.
• Skaičiuojant funkcijos f(x) reikšmes iš kito intervalo, reikia sudaryti
atitinkamą kitą tiesinį daugianarį.
Tiesinis interpoliavimas
).()()(
)()(1
11 i
ii
iii xx
xx
xfxfxfxL
,)()(
)(
11 ii
i
ii
i
xfxf
xfy
xx
xx
).()()(
)(1
1i
ii
iii xx
xx
xfxfxfy
![Page 123: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/123.jpg)
• Pavyzdys (160 p.). Žinoma, kad vandens virimo temperatūra prik-
lauso nuo atmosferos slėgio. Tarkime, kad eksperimentų pagalba
buvo nustatyta tokią priklausomybės lentelė:
Raskite vandens virimo temperatūrą esant 747 mm slėgiui.
• Pasirinkime intervalą ir sudarykime jame pirmojo laipsnio (tiesinį)
interpoliacinį daugianarį L1(x):
• Taigi vandens virimo temperatūra, esant 747 mm slėgiui, apytiksliai
lygi
Tiesinio interpoliavimo pavyzdys
).740(0375,0255,99
)740(740750
255,99630,99255,99)(
)()()()(
1
11
x
xxxxx
xfxfxfxL i
ii
iii
Slėgis (mm) 730 740 750 760 770
Temperatūra (°C) 98,877 99,255 99,630 100,000 100,366
.5175,99)740(0375,0255,99)747(1 xL
![Page 124: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/124.jpg)
• Pakeitę funkcijos f(x) reikšmę interpoliacinio daugianario reikšme
L1(x), padarome paklaidą. Ką galima pasakyti apie jos dydį?
1 Teorema. Jei funkcijos f(x) antroji išvestinė intervale [xi, xi+1] yra
aprėžta, t.y.
tai tiesinio interpoliavimo paklaida įvertinama nelygybe
čia h = xi+1 - xi (interpoliavimo žingsnis).
• Taigi, tam kad sumažinti tiesinio interpoliavimo paklaidą reikia
mažinti interpoliavimo žingsnį.
• Dažniausiai funkcijos f(x) antrosios išvestinės didžiausioji reikšmė
arba jos įvertis nėra žinomi, nes ir pati funkcija f(x) nėra žinoma.
• Tada galima naudoti apytikslį antrosios išvestinė rėžį. Sudarysime jį.
Tiesinio interpoliavimo paklaida
, kai ,|)(| 12 ii xxxMxf
, kai ,))((|)()(| 12
281
1221
1 iiii xxxhMxxxxMxLxf
![Page 125: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/125.jpg)
• Funkcijos f(x) pirmosios eilės skirtumų santykiu vadinamas dydis
• Jei žinoma n+1 funkcijos reikšmė, tai galima sudaryti n pirmosios
eilės skirtumų santykių. Iš jų sudaromi antrosios eilės skirtumų
santykiai:
• Bendruoju atveju, n-osios eilės skirtumų santykiu vadinamas (n-1)-
osios eilės skirtumų santykių pokyčio ir atitinkamo argumento
pokyčio santykis:
• Skirtumų santykius patogu apskaičiuoti tokia lentele:
Skirtumų santykiai
.)()(
),(1
11
ii
iiii
xx
xfxfxxf
.),(),(
),,(2
12121
ii
iiiiiii
xx
xxfxxfxxxf
.),...,(),...,(
),...,,( 111
ini
niiniiniii
xx
xxfxxfxxxf
),,,(3
),,(),,(2
),(),(),(1
)()()()()(
3210
321210
322110
3210
3210
xxxxf
xxxfxxxf
xxfxxfxxf
xfxfxfxfxf
xxxxx
![Page 126: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/126.jpg)
• Galimą parodyti, kad funkcijos f(x) antroji išvestinė intervale
[xi, xi+2] apytiksliai įvertinama tokia lygybe (prisiminkime
baigtinius skirtumus):
• Šios reikšmės gali būti naudojamos 1-os teoremos antrosios
išvestinės apytikslio rėžio M2 radimui, t.y.
• Tokiu būdu galime apskaičiuoti vandens virimo temperatūros tiesi-
nio interpoliavimo paklaidos įvertį (164 pusl., 6 pvz):
t.y. vandens virimo temperatūra yra 99,5175 ± 0,0006.
Antrosios išvestinės apytikslis rėžis
).,,(2)( 21 iii xxxfxf
| ).),,(|| ,),,(max(|2 21112 iiiiii xxxfxxxfM
.00005,0|)000025,0|| ,000015,0max(|22 M
![Page 127: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/127.jpg)
• Sudarykime antrojo laipsnio (kvadratinį) interpoliacinį
daugianarį L2(x).
• Sakykime, kad reikia apskaičiuoti funkcijos f(x) reikšmę taške x.
• Randame 3 artimiausius taškui x interpoliavimo mazgus xi, xi+1, xi+2.
• Sudarome parabolės einančios per 3 taškus (xi, f(xi)),
(xi+1, f(xi+1)), (xi+2, f(xi+2)) lygtį (pavaizduokite):
• Šią parabolės lygtį vadinsime kvadratinio interpoliavimo formule, o
antrojo laipsnio daugianarį – kvadratiniu interpoliaciniu
daugianariu.
• Patikrinkite, kad šis daugianaris tenkina interpoliacines sąlygas.
• Jis yra apibrėžtas intervale [xi, xi+2] ir tinka skaičiuoti tarpines
reikšmes šiame intervale.
• Skaičiuojant funkcijos f(x) reikšmes iš kito intervalo, reikia sudaryti
atitinkamą kitą daugianarį.
Kvadratinis interpoliavimas
).)()(,,())(,()()( 12112 iiiiiiiii xxxxxxxfxxxxfxfxL
![Page 128: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/128.jpg)
• Pavyzdys (166 pusl., 8 pvz.). Apskaičiuokime vandens virimo
temperatūrą, esant 747 mm slėgiui, pagal kvadratinio interpoliavimo
formulę.
• Trys artimiausi taškui x = 747 interpoliavimo mazgai yra
• Šiame intervale sudarome kvadratinį interpoliacinį daugianarį L2(x):
• Taigi vandens virimo temperatūra, esant 747 mm slėgiui, apytiksliai
lygi
• Palyginkime su tiesiniu interpoliavimu gauta reikšme ir paklaida.
Kvadratinio interpoliavimo pavyzdys
. )750)(740(000025,0)740(0375,0255,99
))()(,,())(,()()( 12112
xxx
xxxxxxxfxxxxfxfxL iiiiiiiii
Slėgis (mm) 740 750 760
Temperatūra (°C) 99,255 99,630 100,000
.5180,99
)750747)(740747(000025,0)740747(0375,0255,99)747(2
L
![Page 129: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/129.jpg)
• Pakeitę funkcijos f(x) reikšmę interpoliacinio daugianario reikšme
L2(x), padarome paklaidą. Ką galima pasakyti apie jos dydį?
2 Teorema. Jei funkcijos f(x) trečiosios eilės išvestinė intervale
[xi, xi+2] yra aprėžta, t.y.
tai kvadratinio interpoliavimo paklaida įvertinama nelygybe
čia h = xi+1 - xi = xi+2 – xi+1 (interpoliavimo žingsnis).
• Taigi tam, kad sumažinti kvadratinio interpoliavimo paklaidą, reikia
mažinti interpoliavimo žingsnį.
• Kokį garantuotą paklaidos sumažėjimą užtikrina dvigubas interpo-
liavimo žingsnio h sumažinimas tiesiniu ir kvadratiniu atveju?
• Dažniausiai funkcijos f(x) trečiosios išvestinės didžiausioji reikšmė
arba jos įvertis M3 nėra žinomi, nes ir pati funkcija f(x) nėra žinoma.
• Tada galima naudoti apytikslį rėžį, sudarytą iš 3 eilės skirtumų san-
tykių maksimumo:
• Gaukite nagrinėto pavyzdžio paklaidos įvertį (Ats.: 0,0001).
Kvadratinio interpoliavimo paklaida
],,[ kai ,|)(| 23 ii xxxMxf
],,[ ,|))()((||)()(| 23
327
32136
12 iiiii xxxhMxxxxxxMxLxf
| ).),,,((|max!3 3213 iiiii
xxxxfM
![Page 130: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/130.jpg)
• Jei žinoma n+1 funkcijos f(x) reikšmė, tai galima sudaryti n-ojo
laipsnio interpoliacinį daugianarį.
• Pateiksime Niutono interpoliacinio daugianario formulę
• Matome, kad L1(x) ir L2(x) yra atskiri šios formulės atvejai.
• Niutono interpoliacinė formulė yra patogi, kai reikia papildyti ją
naujais nariais ir padidinti interpoliacinio daugianario eilę, kas
dažniausiai reiškia padidintą tikslumą, pavyzdžiui, gavus naujus
matavimo duomenis (xi, f(xi)).
• Kodėl dažniausiai?
Niutono interpoliacinė formulė
).)...()()(,..,,(
...))()(,,())(,()()(
11010
102100100
nn
n
xxxxxxxxxf
xxxxxxxfxxxxfxfxL
![Page 131: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/131.jpg)
3 Teorema. Jei funkcijos f(x) (n+1)-os eilės išvestinė intervale
[x0, xn] yra aprėžta, tai Niutono interpoliacinės formulės paklaida
įvertinama nelygybe
• Iš čia galima gauti teorinę sąlygą, garantuojančią kad interpolia-
cinio daugianario laipsnio padidinimas yra naudingas (tikrai su-
mažina paklaidą):
t.y. kai aukštesnės išvestinės rėžis Mn+1 nėra daug didesnis ir
taškas xn nėra per daug nutolęs nuo taško x.
• Pastaba. Rėžių apskaičiavimui galima naudoti įvertį:
• Antrąją išvadą galima padaryti apie interpoliavimo mazgų xi
išsidėstymą. Tam, kad sumažinti paklaidą, reikia siekti, kad šie
mazgai būtų kuo arčiau interpoliavimo taško x ir išsidėstę simet-
riškai jo atžvilgiu.
Niutono interpoliacinės formulės paklaida
.|)(|ir ],[ kai |,))...()((|)!1(
)()( 1
)1(
0101
n
n
nnn
n Mxfxxxxxxxxxn
MxLxf
,|)(|1
1nn
n Mxxn
M
| ).),,,((|max! 21 niiiii
n xxxxfnM
![Page 132: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/132.jpg)
Uždaviniai savarankiškam darbui
1. Lentelėje pateikiama tam tikrų vaistų koncentracija kraujyje praėjus tam tikram laikui po injekcijos.
Ligoniui vaistus pakartotinai reikia leisti tada, kai jų koncentracija kraujyje sumažėja iki 0,0170 mg/cm3. Nustatykite po kiek laiko reikės suleisti naują vaistų dozę?
2. Sudarykite funkcijos y = sin x reikšmių lentelę taškuose π/12, π/6, π/4, π/3, 5π/12. Naudodami tiesinį ir kvadratinį interpoliavimą apskaičiuokite funkcijos reikšmes tarpiniuose taškuose π/8, π/5, 7π/24, 9π/24. Apskaičiuokite tikslias interpoliavimo paklaidas, jų rėžius (pagal atitinkamas teoremas ir žinomas išvestines) ir rėžių įverčius (panaudojant atitinkamos eilės skirtumų santykius).
3. Uždaviniai iš literatūros sąrašo mokymo priemonių (pvz., iš vadovėlio 6 skyriaus).
Laikas (val.) 1 2 3 4 5
Koncentracija (mg/cm3) 0,0178 0,0200 0,0192 0,0178 0,0163
![Page 133: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/133.jpg)
• Tarkime, kad funkcija y=f(x) yra apibrėžta reikšmių lentele
• Jei reikia sudaryti interpoliacinę funkciją visame intervale [a, b],
tai galima padaryti sudarant tam tikro pasirinkto laipsnio interpolia-
cinius daugianarius atitinkamuose intervaluose.
• Naudojant tiesinius daugianarius L1(x), gaunama dalimis tiesinė
interpoliacinė funkcija - P1(x).
• Naudojant kvadratinius daugianarius L2(x), gaunama dalimis kvad-
ratinė interpoliacinė funkcija - P2(x).
• Panagrinėkime 12 pavyzdį (171 p.).
• Pastebėkime, kad dalimis daugianarės interpoliacinės funkcijos yra
tolydžios visame intervale [a, b], tačiau nėra diferencijuojamos
interpoliavimo mazguose, kuriuose pereinama nuo vienos daugia-
nario išraiškos prie kitos.
• Siekiant glodesnių interpoliacinių funkcijų, naudojamas splainų
interpoliavimas.
Dalimis daugianarės interpoliacinės funkcijos
n
nyyyxf
bxxxax
...)(
...
10
10
![Page 134: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/134.jpg)
• Tarkime, kad intervale [a,b] yra apibrėžta funkcija y=f(x), ir tame
intervale yra žinoma n+1 reikšmė.
• Funkcija Sm(x),
kuri
1) kiekviename intervale [xi , xi+1] yra m-ojo laipsnio daugianaris
2) tenkina interpoliavimo sąlygą Sm(xi) = yi, i=0,1, … , n,
3) ir kurios visos išvestinės iki (m-1) – osios eilės imtinai yra tolyd-
žios intervale [a,b],
yra vadinama m-osios eilės splainu.
• Tam, kad sudaryti splainą reikia surasti atitinkamus koeficientus aij,
kad būtų patenkintos 2) ir 3) sąlygos.
Splainų interpoliavimas
n
n
yyyxf
bxxxax
...)(
...
10
10
,...)( 01
1
1,, ii
m
mi
m
imim axaxaxaxS
],;[),(......
],;[),(......
],;[),(
)(
11,
1,
100,
nnnm
iiim
m
m
xxxxS
xxxxS
xxxxS
xS
![Page 135: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/135.jpg)
• Pirmos eilės splainas vadinamas tiesiniu splainu:
• Jo koeficientai ai ir bi nustatomi iš lygčių sistemų (jų yra n),
gaunamų iš 2) interpoliavimo sąlygos:
Kiekvieną sistemą galime spręsti atskirai ir apskaičiuoti: ai ir bi.
• 3) splaino sąlyga tiesinio splaino atveju yra tolygi splaino tolydu-
mui, nes m-1 = 0. Akivaizdu, kad ji yra patenkinta (trūkių nėra).
• Taigi gauname, kad tiesinis splainas sutampa su dalimis tiesine
interpoliacine funkcija: S1(x) = P1(x).
Tiesiniai splainai (m=1)
].;[,)(......
],;[,)(......
],;[,)(
)(
1111,1
11
100010
1
nnnnn
iiiii
xxxbxaxS
xxxbxaxS
xxxbxaxS
xS
.1,,1,0 ,
,
11
niybxa
ybxa
iiii
iiii
![Page 136: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/136.jpg)
• Antros eilės splainas vadinamas kvadratiniu splainu:
• Jo sudarymui reikia surasti 3n nežinomų koeficientų: ai, bi, ci.
• Iš 2) interpoliavimo sąlygos gauname 2n lygčių:
• Iš 3) splaino sąlygos gauname, kad kvadratinio splaino 1-oji
išvestinė S2' (x) turi būti tolydi (neturėti trūkių) visame intervale
[a, b]. Taigi, gauname, kad vidiniuose interpoliavimo mazguose:
Kvadratiniai splainai (m=2)
].;[,)(
......
],;[,)(
......
],;[,)(
)(
111
2
11,2
1
2
2
1000
2
020
2
nnnnnn
iiiiii
xxxcxbxaxS
xxxcxbxaxS
xxxcxbxaxS
xS
.1,...,1,0 ,
,
11
2
1
2
niycxbxa
ycxbxa
iiiiii
iiiiii
.1,...,1 ,22)()( 11,21,2 nibxabxaxSxS iiiiiiiiii
![Page 137: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/137.jpg)
• Iš viso turime 3n-1 lygtį, o nežinomųjų yra 3n.
• Trūkstama lygtis paprastai yra gaunama keliant papildomą są-
lygą kvadratinio splaino pirmajai išvestinei S2' (x) kuriam nors
intervalo [a, b] gale. Pavyzdžiui,
• Jei e0 = 0, tai ši papildoma sąlyga vadinama natūraliąja, o splai-
nas, gaunamas su šia sąlyga, vadinamas natūraliuoju splainu.
• Kvadratinio splaino koeficientai randami sprendžiant iš eilės 3-jų
lygčių sistemas:
• Sudarykime 12 pavyzdžio funkcijos kvadratinį splainą (13 pvz.,
173 puslp.).
Kvadratiniai splainai (m=2)
2
,
,
.0000
1010
2
10
0000
2
00
ebxa
ycxbxa
ycxbxa
.)()( 000,202 exSeaS
.1,...,2,1
,22
,
,
11
11
2
1
2
ni
bxaebxa
ycxbxa
ycxbxa
iiiiiii
iiiiii
iiiiii
![Page 138: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/138.jpg)
• Dažniausiai naudojamų splainų rūšis yra trečios eiles splainai, kurie vadinami kubiniais splainais:
• Jo sudarymui reikia surasti 4n nežinomų koeficientų: ai, bi, ci, di.
• Iš 2) interpoliavimo sąlygos gauname 2n lygčių:
• Iš 3) splaino sąlygos gauname, kad kubinio splaino 1-oji išvesti-
nė S3' (x) ir 2-oji S3'' (x) turi būti tolydžios (neturėti trūkių) visa-
me intervale [a, b]. Taigi, gauname, kad vidiniuose interpolia-
vimo mazguose:
Kubiniai splainai (m=3)
].;[,)(......
],;[,)(......
],;[,)(
)(
111
2
1
3
11,3
1
23
3
1000
2
0
3
030
3
nnnnnnn
iiiiiii
xxxdxcxbxaxS
xxxdxcxbxaxS
xxxdxcxbxaxS
xS
.1,...,1,0 ,)(
,)(
113
3
niyxS
yxS
iii
iii
.1,...,1 ,)()(
,)()(
31,3
,31,3
nixSxS
xSxS
iii
iiii
![Page 139: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/139.jpg)
• Iš viso turime 4n-2 lygtis, o nežinomųjų yra 4n.
• Trūkstamos lygtys paprastai yra gaunamos iš kraštinių sąlygų
kubinio splaino išvestinėms.
• Dažniausiai yra keliamos sąlygos 2-os eilės splaino išvestinėms:
• Jei e0 = en = 0, tai šios papildomos sąlygos vadinamos natūralio-
siomis, o splainas, tenkinantis šias sąlygas, - natūraliuoju.
• Sudarytą 4n tiesinių lygių sistemą galima spręsti tiesiogiai,
pavyzdžiui, Gauso metodu.
• Tačiau praktikoje naudojamas efektyvesnis kubinio splaino su-
darymo algoritmas, kuris reikalauja tik triįstrižainės lygčių
sistemos sprendimo (dydžio n), ką galima atlikti žymiai greičiau.
• Teorema. Jei funkcija y(x) yra keturis kartus tolydžiai diferenci-
juojama intervale [a, b], tai kubinio splaino ir jo išvestinių
paklaida įvertinama šia nelygybe:
Kubiniai splainai (m=3)
.)( ,)( 1,30030 nnn exSexS
.2,1,0 ,|)()(||,)()(|max|)()(| 33
22
4
)(
3
)( kbSbyaSayhhMxSxy kkk
![Page 140: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/140.jpg)
• Kubinio splaino i-oji lygtis gaunama tokiu pavidalu:
kur reikalingi koeficientai apskaičiuojami pagal formules: čia
yra lentelės argumento žingsnis, o
yra nežinomieji, kurie gaunami iš triįstrižainės
lygčių sistemos:
kurią galime greitai išspręsti perkelties metodu.
Kubinio splaino radimo algoritmas
,1,,1,0 ,)()()()( 32
,3 nixxHxxGxxeyxS iiiiiiii
,6
,2
,36
11
1
i
iii
ii
ii
ii
i
iii
h
ggH
gG
hg
hg
h
yye
iii xxh 1
Nigi ,,,1,0 ,
,
1
111111
,00
,1,,1 ,6)(2
nn
i
ii
i
iiiiiiiii
eg
nih
yy
h
yyghghhgh
eg
![Page 141: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/141.jpg)
• Tarkime, kad yra žinomos (pavyzdžiui, iš eksperimento) n funk-
cijos y = f(x) reikšmių:
• Kaip aprašyti šios duomenys viena funkcija, kuri nebūtinai eitų
per turimus taškus, bet turėtų paprastą analizinę išraišką, pvz.,
tiesine y = a+bx, kvadratine, logaritmine arba rodikline funkcija?
• Dažnai priklausomybės y nuo x pavidalas yra žinomas (pvz., iš
fizikos dėsnių), kartais jį tenka parinkti.
• Pavyzdys. Omo dėsnis: V=IR.
Dėl matavimo paklaidų taškai
nėra griežtai vienoje tiesėje.
• Kaip surasti laidininko varžą R?
• Interpoliavimo metodai, splainai
šiuo atveju netinka, nes reikia surasti vieną tiesę!
• Tokios vienos funkcijos paieškos ir sudarymo uždavinys vadina-
mas aproksimavimo uždaviniu. Sakoma, kad turimi duomenys
yra aproksimuojami atitinkama funkcija.
Duomenų aproksimavimas
n
nyyyxfy
xxxx
...)(
...
21
21
![Page 142: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/142.jpg)
• Tarkime, kad yra žinoma (arba parinkta ir išbandoma) priklau-
somybės y nuo x analizinė išraiška, t.y funkcija y=f(x,a,b,c,...).
• Kaip surasti nežinomus parametrus a,b,c,.., kad gauta funkcija
geriausiai aprašytų eksperimentinius duomenis?
• Vienas populiariausių šio uždavinio sprendimo metodų yra
mažiausių kvadratų (regresijos) metodas:
parametrai turi būti tokie, kad parinktos funkcijos reikšmių
nuokrypių kvadratų suma būtų minimali:
Mažiausių kvadratų metodas (regresijos metodas)
).,ˆ,ˆ,ˆ(min)),,,,((),,,(,,,
1
2
cbaRcbaxfycbaRcba
n
i
ii
Kaip kitaip galima apibrėžti
minimizuojamą funkcionalą R?
![Page 143: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/143.jpg)
• Iš matematinės analizės žinome, kad minimumo taške
funkcionalo R dalinės išvestinės visų kintamųjų a,b,c,... atžvilgiu
turi būti lygios nuliui.
• Taip gauname lygčių sistemą, kurią išsprendę gauname reikalin-
gus parametrus:
• Sudarykime lygčių sistemą mažiausių kvadratų tiesei y = a+bx.
Mažiausių kvadratų metodas
,0
,0
,0
c
Rb
Ra
R
),ˆ,ˆ,ˆ( cba
n
i
n
i
iii
n
i
i
n
i
n
i
ii
yxxbxa
yxbna
1 1
2
1
1 1
.
,Išsprendę šią tiesinių lygčių
sistemą, gausime ieškomus
koeficientus a ir b, t.y. tiesės
lygtį y = a+bx.
![Page 144: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/144.jpg)
• Pavyzdys. Mažiausių kvadratų metodu raskite tiesę, aproksi-
muojančią duotus taškus (-2, -5), (-1, -1), (1, 1), (2, 4).
• Aproksimuojančią tiesę y = a+bx nusakančius koeficientus rasi-
me išsprendę dviejų tiesinių lygčių sistemą:
• Ją išsprendę, gauname mažiausių kvadratų tiesę y = -0,25 + 2x.
Mažiausių kvadratų tiesės radimo pavyzdys
4211)1()1()5()2()21)1()2(()2112(
4115)2112(4
2222ba
ba
![Page 145: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/145.jpg)
• Tarkime, kad turime duomenis su
akivaizdžiai netiesinę priklausomybę:
• Kokia kreivė (funkcija) tiktų šių
duomenų aproksimavimui?
• Suraskime mažiausių kvadratų
metodu parabolę
• Diferencijuodami funkcionalą R, sudarykime tiesinių lygčių
sistemą mažiausių kvadratų parabolei:
Mažiausių kvadratų metodas
n
i
n
i
n
i
iiii
n
i
i
n
i
n
i
n
i
iiii
n
i
i
n
i
n
i
i
n
i
ii
yxxcxbxa
yxxcxbxa
yxcxbna
1 1 1
243
1
2
1 1 1
32
1
1 11
2
.
,
,
.2cxbxay
Išsprendę šią tiesinių lygčių
sistemą, gausime ieškomus
koeficientus a, b ir c, t.y.
parabolės lygtį .2cxbxay
![Page 146: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/146.jpg)
• Kokia kreivė (funkcija) tiktų šių
duomenų aproksimavimui?
• Atlikę pakeitimą
koeficientus a ir b galime kaip
mažiausių kvadratų tiesės
• Analogiškai mažiausių kvadratų metodą galima taikyti ir kitoms
netiesinėms funkcijoms.
• Duomenų aproksimavimui logaritmine funkcija:
• Duomenų aproksimavimui rodikline funkcija:
• Duomenų aproksimavimui laipsnine funkcija:
Mažiausių kvadratų metodo taikymas netiesinėms funkcijoms
.0 kai , bx
bay
0
2
4
6
8
10
12
14
0 1 2 3 4 5 6 7 8 9 10 11 12
xxy
99.1048.12ˆ99.1048.12
,1
ˆx
x
.x̂bay
.lnˆkur ,ˆ ln xxxbayxbay
.lnˆ,lnˆkur ,ˆ ˆ lnln aayybxaybxayaey bx
.lnˆ ,lnˆ ,lnˆkur ,ˆˆˆ lnlnln xxaayyxbayxbayaxy b
![Page 147: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/147.jpg)
Uždaviniai savarankiškam darbui
1. Mažiausių kvadratų metodu aproksimuokite duotus taškus tiesę ir parabolę: (-2, 4), (-1, -1), (1,-1), (2,3). Pavaizduokite duotus taškus ir gautas funkcijas. Kuri funkcinė priklausomybė tiksliau atspindi duomenis? Apskaičiuokite aproksimavimo paklaidą – nuokrypių kvadratų sumą R abiems atvejams.
2. Lentelėje yra pateikiami eksperimento rezultatai
Raskite šiuos duomenis aproksimuojančią funkciją. Pavaizduokite.
Pastaba. Kadangi priklausomybė yra aiškiai netiesinė, naudoti reikia rodiklinės arba laipsninės funkcijos pavidalą. Kuris tinka geriau?
xi 1 2 3 4 5 6
yi 2 2,8 3,5 4 4,5 4,9
![Page 148: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/148.jpg)
Funkcijų optimizavimo metodai
![Page 149: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/149.jpg)
• Įvairiausiose srityse dažnai iškyla poreikis surasti geriausią
(optimalų) uždavinio sprendinį.
• Optimalumas būdingas ne tik žmonių veiklai, bet ir gamtos
reiškiniams.
• Pavyzdžiui, iš vienos terpės į kitą šviesos spindulys sklinda tuo
keliu, kuriuo sklidimo laikas yra trumpiausias.
• Bitės lipdo tokį korį, kuriam reikia sunaudoti mažiausia vaško.
• Upės vaga išgraužia tokią kreivę, kuria patiria mažiausią
pasipriešinimą.
• Šie uždaviniai matematine kalba vadinami optimizavimo (lot.
optimus - geriausias) uždaviniais. Jų sprendimo metodai –
optimizavimo metodais.
• Suformuluosime ir išspręsime keletą funkcijų optimizavimo
uždavinių.
Funkcijų optimizavimo uždaviniai
![Page 150: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/150.jpg)
Šviesos spindulio sklidimas
Dėl skirtingo šviesos greičio
skirtingose terpėse spindulys lūžta
Dar Antikos laikais buvo pastebėta, kad tarp kritimo
kampo φ1 ir lūžio kampo φ2 yra ryšis.
Vikipedia
![Page 151: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/151.jpg)
• Gaukime t1 ir t2 išraiškias per atitinkamus šviesos greičius c1 ir c2 :
• Taigi, gauname optimizavimo uždavinį: reikia rasti tokį x0, kad
Hipotezė: Šviesa juda tokia trajektorija, kad visą kelią
nuo taško A iki taško B nueitų per trumpiausią laiką.
Šviesos spindulio sklidimo matematinis modelis
• Tegu, t1 ir t2 – laikai, per
kuriuos spindulys nueina kelius
AO ir OB, atitinkamai.
• Akivaizdu, kad jie priklauso
nuo taško O padėties, t.y. nuo x.
• Tada visas sklidimo laikas:
)()()( 21 xtxtxt
,)(1
22
1
1c
xa
c
AOxt
.
)()(
2
22
2
2c
xdb
c
OBxt
)()(min 00
xtxtdx
![Page 152: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/152.jpg)
• Ap. x0 yra funkcijos f(x) lokalaus minimumo taškas, jeigu
čia yra taško x0 aplinka spinduliu δ.
• Kaip šis apibrėžimas apibendrinimas kelių kintamųjų funkcijoms
f(x1, x2,.., xn)?
• Toliau nagrinėsime du optimizavimo metodus (aukso pjūvio ir
Niutono). Jie leidžia rasti lokalius ekstremumus (minimumo,
maksimumo taškus) pagal atitinkamai parinktus pradinius
artinius.
• Tačiau nagrinėjamame intervale funkcija gali turėti keletą lokalių
ekstremumų:
Funkcijos lokalaus ir globalaus minimumo taškai
),,( ),()( 00 xDxxfxf
}|| :{),( 00 xxxxD
x0 x1
![Page 153: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/153.jpg)
• Praktikoje mus dažniausiai domina globalus ekstremumas.
• Ap. x0 yra funkcijos f(x) globalaus minimumo intervale [a, b]
taškas, jeigu
• Kaip rasti funkcijos globalų minimumą intervale [a, b]?
Funkcijos lokalaus ir globalaus minimumo taškai
].,[ ),()( 0 baxxfxf
x0 x1
• Teorema. Intervale [a, b] tolydi funkcija f(x) įgyja globalų
minimumą (maksimumą) viename iš lokalaus minimumo
(maksimumo) taškų arba viename iš intervalo galų.
• Taigi, ieškant globalaus ekstremumo, reikia nepamiršti patikrinti
reikšmes intervalo galuose.
![Page 154: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/154.jpg)
Paprasčiausias sprendimo būdas
• Imame tankų taškų tinklą xi = a + i*h, i=0,1,…,N.
• Apskaičiuojame funkcijos reikšmes fi = f(xi) ir išsirenkame
ekstremumo (minimumo, maksimumo) taškus.
• Toks perrinkimo algoritmas yra patikimas bet labai neefektyvus
skaičiavimo apimties prasme, nes reikalauja daug skaičiavimų.
• Akivaizdų, kad taškų tinklas turi būti adaptyvus: jį reikia tankinti, t.y.
parinkinėti naujus xi taškus ten, kur funkcijos reikšmės yra mažos.
![Page 155: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/155.jpg)
•Kadangi iš anksto nežinome, kurį intervalo galą teks atmesti, vidinius taškus parinksime taip, kad
Aukso pjūvio metodas
.12 axxb
.2
121
ax
xx
ab
ax
•Tarkime, intervale [a,b] funkcija f(x) turi vienintelį minimumą.
•Apskaičiuosime funkcijos reikš-mes šio intervalo galuose ir dar dviejuose vidiniuose taškuose.
•Tarkime, kad reikšmė f(x1) – mažiausia. Tuomet intervale (x2,b] minimumo būti negali – ji galime atmesti.
•Taip pat būtų gerai, kad vieną likusį vidinį tašką (šiuo atveju x1, nes x2 taps naujo intervalo galu) galėtume panaudoti kitame žingsnyje kaip naujo intervalo [a,x2] vidinį tašką. •Todėl reikalausime, kad x1 dalytų seną ir naują intervalą tuo pačiu santykiu:
![Page 156: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/156.jpg)
Aukso pjūvio metodas
qab
xb
ab
ax
21
),()()( 2112 xbaxabxx
.)()(
)()()(
2
21
2
12
xbab
xbaxab
ax
xx
,1
21
q
.0132 qq
38,02
53
q
.)( ,)( 21 qabbxqabax
Tuomet
Taigi
Sudarysime formules tokių vidinių taškų x1 ir x2 apskaičiavimui.
Pažymėkime
Padaliję dešiniosios trupmenos skaitiklį ir vardiklį iš (b-a), gauname
kvadratinę lygtį:
Mus domina mažesnis už vienetą sprendinys:
![Page 157: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/157.jpg)
Aukso pjūvio pavyzdžiai
• Aukso pjūvio proporcija žinoma nuo Antikos laikų.
• Ją galima aptikti architektūroje ir meno darbuose.
• Įdomiausia, kad ją galima aptikti ir gamtoje.
![Page 158: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/158.jpg)
1643612)( 2 xxxQ
Aukso pjūvio metodo taikymo pavyzdys
![Page 159: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/159.jpg)
1643612)( 2 xxxQ
Aukso pjūvio metodo taikymo pavyzdys
![Page 160: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/160.jpg)
1643612)( 2 xxxQ
Aukso pjūvio metodo taikymo pavyzdys
![Page 161: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/161.jpg)
1643612)( 2 xxxQ
Aukso pjūvio metodo taikymo pavyzdys
![Page 162: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/162.jpg)
1643612)( 2 xxxQ
Aukso pjūvio metodo taikymo pavyzdys
![Page 163: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/163.jpg)
1643612)( 2 xxxQ
Aukso pjūvio metodo taikymo pavyzdys
![Page 164: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/164.jpg)
1643612)( 2 xxxQ
Aukso pjūvio metodo taikymo pavyzdys
![Page 165: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/165.jpg)
1643612)( 2 xxxQ
Aukso pjūvio metodo taikymo pavyzdys
![Page 166: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/166.jpg)
415,1min x
1643612)( 2 xxxQ
Aukso pjūvio metodo taikymo pavyzdys
![Page 167: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/167.jpg)
Aukso pjūvio metodo algoritmas 1. Pradinio intervalo parinkimas. Randame intervalą [a,b], kuriame funkcija f(x)
turi vienintelį minimumą, n := 0.
2. Pradinių reikšmių apskaičiavimas. Apskaičiuojame funkcijos f(x) reikšmes
intervalo galuose a, b ir vidiniuose taškuose x1 = a + (b – a)q, x2 = b – (b – a)q
ir iš jų išrenkame mažiausią. Atitinkamą tašką pažymime xmin.
3. Naujo intervalo sudarymas. Atmetame tolimiausiąjį nuo xmin tašką ir
pernumeruojame likusius taškus:
a) jei atmetėme a, tai a := x1, x1 := x2;
b) jei atmetėme b, tai x2 := x1, b := x2;
4. Tikslumo tikrinimas. Tikriname tikslumo sąlygą: b – a < ε.
5. Naujo vidinio taško apskaičiavimas. Jei tikslumo sąlyga netenkinama,
apskaičiuojame naują vidinį tašką:
a) jei atmetėme a, tai x2 = b – (b – a)q,
b) jei atmetėme b, tai x1 = a + (b – a)q,
apskaičiuojame funkcijos reikšmę tik šiame naujame taške,
vėl išrenkame mažiausią reikšmę iš 4-ių, atitinkamą tašką pažymime xmin,
grįžtame į 3 žingsnį, n := n+1.
6. Jei tikslumo sąlyga patenkinta, tai baigiame skaičiavimus:
xmin yra funkcijos f(x) minimumo taškas tikslumu ε, f(xmin) – mažiausioji reikšmė.
![Page 168: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/168.jpg)
Aukso pjūvio metodo savybės
• Išrenkant didžiausią funkcijos f(x) reikšmę atitinkamuose aukso pjūvio algoritmo žingsniuose, apskaičiuojame funk-cijos f(x) maksimumo tašką xmax.
• Aukso pjūvio metodu paklaida mažėja 38% po kiekvienos iteracijos. Taigi, šis metodas turi tiesinį konvergavimo greitį.
• Toliau nagrinėsime sparčiau konverguojantį metodą – Niutono metodą, kuris turi kvadratinį konvergavimo greitį.
• Tačiau Niutono metodas reikalaus funkcijos f(x) pirmųjų ir antrųjų išvestinių apskaičiavimo.
• Kai šių išvestinių apskaičiuoti negalime arba jos netenkina konvergavimui būtinų sąlygų, optimizavimo uždavinį galime išspręsti būtent aukso pjūvio metodu.
• Aukso pjūvio metodo taikymui užtenka mokėti apskaičiuoti funkcijos f(x) reikšmes pasirenkamuose taškuose.
• Aišku, kad sprendinio (t.y. minimumo/maksimumo) egzistavi-mui būtina, kad funkcija f(x) būtų tolydi intervale [a,b].
![Page 169: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/169.jpg)
• Kitas mūsų nagrinėjamas metodas (Niutono) grindžiamas gerai žinomu funkcijos lokalaus ekstremumo požymiu.
• Teorema. Jei funkcija f(x) intervale [a,b] turi išvestinę ir šio intervalo taške c įgyja lokalų minimumą arba maksimumą, tai jos išvestinė tame taške c lygi nuliui:
• Kaip nustatyti, ar c yra minimumo, maksimumo arba vingio taškas?
• Taškas c yra minimumo taškas, a) jei funkcijos išvestinė f ′(x) taške c keičia ženklą iš
neigiamo į teigiamą; b) jei funkcijos antroji išvestinė f ″(c) > 0.
• Kaip atrodys šios sąlygos maksimumo taškui?
• Sprendžiant optimizavimo uždavinius, lygtis f ′(x) = 0 dažniau-siai yra netiesinė ir jos negalima išspręsti analiziniais metodais.
• Todėl taikomi skaitiniai netiesinių lygčių sprendimo metodai. Pasinaudosime Niutono metodu.
Lokalaus ekstremumo sąlygos
.0)( cf
![Page 170: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/170.jpg)
• Prisiminkime Niutono metodo formulę netiesinės lygties f (x) = 0 sprendimui:
• Kadangi sprendžiant optimizavimo uždavinį, sprendžiame lygtį f ′(x) = 0, modifikuojame šią formulę (vietoje funkcijos įrašome jos išvestinę):
• Suradę lygties apytikslį sprendinį norimu tikslumu ε, kaip patikrinti, ar tai minimumo (maksimumo) taškas?
• Prisiminkime, kad Niutono metodo konvergavimui reikia parin-kti pradinį artinį x0 pakankamai arti ieškomo sprendinio, antroji išvestinė turi būti |f ″(x)| > 0, t.y. nenulinė sprendinio aplinkoje, o trečioji aprėžta (žr. atitinkamą teoremą).
• Esant šiom sąlygoms, Niutono metodo artiniai konverguoja kva-dratiniu greičiu, t.y. žymiai greičiau negu aukso pjūvio metodu.
Niutono metodas optimizavimo uždaviniui
,...2,1,0 ,)(
)(''
'
1 nxf
xfxx
n
nnn
,...2,1,0 ,)(
)('1 n
xf
xfxx
n
nnn
?0)('' nxf
![Page 171: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/171.jpg)
Šviesos spindulio sklidimo uždavinys
.)(
min)(min2
22
1
22
00 c
xdb
c
xaxt
dxdx
22 )1(25,03292,125,0)( xxxt
0)1(25,0
)1(3292,1
25,0)('
22
x
x
x
xxt
3232 ))1(25,0(
25,03292,1
)25,0(
25,0)(''
xxxt
n 0 1 2 3 4
xn 0 0,53128 0,63918 0,63397 0,63395
funkcijos t(x) grafikas
• Išspręskime šį uždavinį Niutono metodu 0,0001 tikslumu.
• Paimkime c1 = 1, o c2 = 1/1,3292 (santykis tarp šviesos greičio ore ir vandenyje), a = 0,5; b = 0,5; d = 1. Tada
• Parenkame pradinį artinį x0 = 0 ir skaičiuojame, kol pasieksime norimą tikslumą:
![Page 172: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/172.jpg)
Šviesos spindulio lūžio (Snelijaus) dėsnis
0)(
11)('
2
0
2
0
22
0
2
0
1
0
xdb
xd
cxa
x
cxt
2
1
2
0
2
0
2
0
2
0
)(/)(
/
c
c
xdbxd
xax
2
1
2
1
sin
sin
c
c
• Sprendžiant šį optimizavimo uždavinį, nesudėtingai galime
išvesti šviesos spindulio lūžio dėsnį, vadinamą Snelijaus vardu:
0)(' 0 xt
)()(min 00
xtxtdx
![Page 173: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/173.jpg)
Kelių kintamųjų funkcijos optimizavimo uždavinys • Spręsime kelių kintamųjų funkcijos
minimizavimo uždavinį. Ieškosime n-matės erdvės tašką kuriame
ši funkcija įgyja lokalųjį minimumą:
• Kaip apibrėžiama n-mačio taško aplinka Pavaizduokite
ją kai n = 2 skirtinguose normose.
• Pastaba. Ieškant minimo srityje V nepamirškite, kad joje funkcija
gali turėti ne vieną lokalų ekstremumą!
• Niutono metodas. Šis metodas remiasi iš matematinės analizės
žinimu faktu, kad lokalaus ekstremumo (minimumo arba maksimu-
mo) taške funkcijos gradientas yra lygus nuliui:
• Koordinatinis šios vektorinės lygties pavidalas yra n lygčių sistema:
• Bendruoju atveju lygtys yra netiesinės ir sistema yra sprendžiama
Niutono metodu.
)(),..,,( 21 xfxxxfy n
).,( ),()( oo xDxxfxf
,ox
ox
?),( oxD
.0)(
xf
.,..,2,1 ,0)( nixx
f
i
![Page 174: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/174.jpg)
Kelių kintamųjų funkcijos optimizavimo uždavinys • Kaip patikrinti, ar gautas sistemos sprendinys yra lokalaus
minimumo taškas?
• yra funkcijos lokalaus minimumo taškas, jei šios funkcijos
hesianas šiame taške yra teigiamai apibrėžta matrica, kur
• Niutono metodas turi kvadratinį konvergavimo greitį, tačiau reika-
lauja pakankamai glodžių išvestinių egzistavimo ir apskaičiavimo.
• T.y. turint „gerą“ pradinį artinį galime tikėtis santykinai nedidelio
iteracijų skaičiaus, tačiau kiekvienos iteracijos apskaičiavimas yra
gana brangus laiko prasme.
• Panagrinėkime 6 pavyzdį 221 puslapyje.
ox
ox
)(xf
)(xH
.
...
............
...
...
)(
2
2
2
2
1
2
2
2
2
2
2
12
2
1
2
21
2
2
1
2
nnn
n
n
x
f
xx
f
xx
f
xx
f
x
f
xx
f
xx
f
xx
f
x
f
xH
![Page 175: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/175.jpg)
Kelių kintamųjų funkcijos optimizavimo uždavinys • Kai negalime ar nenorime skaičiuoti funkcijos išvestines,
galima naudoti simpleksų (Nelder-Mead) metodą (222 puslp.).
• Pagal šį metodą apskaičiuojamos tik funkcijos reikšmės n-mačio
simplekso (iškilojo daugiasienio) viršūnėse ir simpleksas
jūdinamas/didinamas/mažinamas link mažesnių reikšmių.
• Pvz. Himmelblau funkcija:
)(xf
22
22
)7(
)11(),(
yx
yxyxf
![Page 176: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/176.jpg)
Skaitinio integravimo metodai
![Page 177: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/177.jpg)
Skaitinis integravimas
• Skaitinio integravimo metodai yra taikomi, kai apibrėžtinio
integralo skaičiavimui mes negalime pritaikyti Niutono-Leib-
nico formulės, susiejančios apibrėžtinį integralą su pirmykšte
funkcija,
t.y., tais atvejais, kai pirmykštė funkcija nors ir egzistuoja,
tačiau neišreiškiama elementariosiomis funkcijomis arba ap-
skritai baigtiniu pavidalu.
• Prisiminkime, kad apibrėžtinis integralas yra lygus kreivinės
trapecijos plotui, kurią apriboja kreivė y = f(x), iš apačios – Ox
ašies atkarpa [a, b], o iš kraštų – vertikalios tiesės x = a ir x = b.
• Panagrinėkime pavyzdį.
,)()()(
b
a
aFbFdxxf
![Page 178: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/178.jpg)
• Imkime dvi funkcijas ir atitinkamus integralus nuo 0 iki 1:
• Nors jų ribojamų trapecijų plotai tarp a=0 ir b=1 yra beveik lygus
tačiau pirmosios kreivės ribojamą plotą galima apskaičiuoti
Niutono-Leibnico formule, o antrosios – negalima, nes jos
pirmykšte neišreiškiama elementariosiomis funkcijomis.
• Štai dar keli tokių integralų pavyzdžiai:
.,
,,1
0
1
0
2
2
dxedxe
eyey
xx
xx
.2sin,1,cos,ln
1,
sin 32
b
a
x
b
a
b
a
b
a
b
a
dxdxxdxxdxx
dxx
x
0 0.2 0.4 0.6 0.8
1
2
2.718
0
ex2
ex
10 x
![Page 179: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/179.jpg)
Skaitinis integravimas
• Sudarysime keletą įvairaus tikslumo skaitinio integravimo
formulių.
• Jos grindžiamos apibrėžtinio integralo apibrėžimu ir leidžia
apskaičiuoti integralo reikšmę kokiu norima tikslumu.
• Antra vertus, skaitinio integravimo metodai yra patogūs vartoti,
kai integruojama funkcija yra laboratorinių ar kitokių matavi-
mų rezultatas, tai yra, jos analizinė išraiška nežinoma ir
funkcija f(x) apibrėžta reikšmių lentele.
• Toliau laikysime, kad visos mūsų nagrinėjamos funkcijos f(x)
yra tolydžios integravimo intervale [a, b] (tada integralas eg-
zistuoja).
![Page 180: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/180.jpg)
• Padalykime intervalą [a, b] į N lygių dalių:
šiuos taškus vadinsime integravimo mazgais, h – integravimo žingsniu. • Pagal žinomą apibrėžtinio integralo savybę turime, kad
• Kreivinės trapecijos, kurios pagrindas yra dalinis intervalas [xi, xi+1],
plotas apytiksliai lygus stačiakampio su tuo pačiu pagrindu plotui:
• Apskaičiavę ir sudėję visų dalinių kairiųjų stačiakampių plotus, gausime apytikslę visos kreivinės trapecijos ploto reikšmę – kairiųjų stačiakampių formulę:
Kairiųjų stačiakampių formulė
,,, ,..., , 110 N
abhhxxbxxxa iiN
.)()(...)()()(1
0
110
N
i
iNN
b
a
xfhhxfhxfhxfKdxxf
).)(()( 1
1
iii
x
x
xxxfdxxfi
i
.)()(1
0
1
N
i
x
x
b
a
i
i
dxxfdxxf
![Page 181: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/181.jpg)
• Pavyzdys. Kairiųjų stačiakampių formule apskaičiuosime
• Pirmiausiai intervalą [1, 3] padaliname į N = 4 lygių dalių, apskaičiuojame integravimo mazgus su žingsniu h = (3-1)/4 = 0,5:
• Toliau apskaičiuojame integruojamos funkcijos f(x) = 1/x reikmes šiuose taškuose – f(xi) ir sumuojame pagal formulę:
• Šį integralą apskaičiuoti tiksliai pagal Niutono ir Leibnico formulę:
• Todėl šiuo konkrečiu atveju galime tiksliai apskaičiuoti skaitinio integravimo paklaidą:
• Apskaičiuokite šį integralą su dvigubai daugiau intervalų (N = 8) – K8 ir atitinkamą paklaidą ε8. Atkreipkite dėmesį, kad tik pusė mazgų bus naujų, t.y. reikės papildomai apskaičiuoti tik 4 funkcijos reikšmes.
Kairiųjų stačiakampių formulės taikymas .
3
1 x
dx
.2833,160/77))(...)()(( 3104 hxfxfxfK
.3 ,5,2 ,2 ,5,1 ,1 43210 xxxxx
.0986,13ln1ln3ln|ln 31
3
1 x
x
dx
.185,03ln 44
3
14 KK
x
dx
![Page 182: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/182.jpg)
Dešiniųjų stačiakampių formulė
• Kreivinės trapecijos plotą pakeičiant stačiakampio plotu, stačia-kampio aukštį galime skaičiuoti ne kairiajame, o dešiniajame gale (pavaizduokite):
• Sumuojant pagal visus dalinius intervalus [xi, xi+1] gauname dešiniųjų stačiakampių formulę:
• Pavyzdys (183 p.). Dešiniųjų stačiakampių formule apskaičiuokite integralą su N = 4, 8:
Apskaičiuokite tikslias skaitinio integravimo paklaidas ir palyginkite su kairiųjų stačiakampių formulės paklaidomis.
• Ar galima teoriškai įvertinti stačiakampių formulių tikslumą?
.)()(...)()(1
21
N
i
iNN xfhhxfhxfhxfD
).)(()( 11
1
iii
x
x
xxxfdxxfi
i
3
1 x
dx
![Page 183: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/183.jpg)
Stačiakampių formulių tikslumas • Teorema. Jei funkcija f(x) intervale [a,b] turi tolydžią išvestinę, tai
kairiųjų (dešiniųjų) stačiakampių formulės paklaida įvertinama tokia nelygybe:
• Taigi tam, kad sumažinti skaitinio integravimo paklaidą, reikia ma-
žinti integravimo žingsnį h.
• Sprendžiant realius uždavinius rėžio M1 apskaičiavimas yra sudė-
tingas, ypač kai funkcijos f(x) pavidalas nėra žinomas, o žinoma tik
reikšmių lentelė.
• Todėl skaitinio integravimo algoritmuose integralas yra apskaičiuo-
jamas iš pradžių su N, o paskui su 2N dalinių intervalų.
• Dalinių intervalų skaičius N yra dvigubinamas tol, kol stačiakam-
pių formulės paklaida pagal Rungės taisyklę taps mažesnė už
siekiamą tikslumą ε: • Tokiu būdu gaunamas artinys K2N norimu tikslumu ε:
].;[ kai ,)( ,)(
5,0)(5,0)( 1
2
11 baxMxfN
abMhabMKdxxf
b
a
N
.2 NN KK
.)( 2 N
b
a
Kdxxf
![Page 184: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/184.jpg)
Trapecijų formulė
• Padalykime intervalą [a, b] į N lygių dalių ir kiekvieną kreivės f(x)
lanką, esantį virš intervalo [xi, xi+1], pakeiskime tiesės atkarpa:
• Apskaičiavę ir sudėję visų dalinių trapecijų plotus, gausime
trapecijų formulę:
• Pavyzdys (185 p.). Trapecijų formule apskaičiuokite integralą
su N = 4, 8. Apskaičiuokite tikslias skaitinio integravimo paklaidas ir palyginkite su kairiųjų stačiakampių formulės paklaidomis.
.)(2
)()(
2
)()(...
2
)()(
2
)()()(
1
1
0
12110
N
i
iN
NNN
b
a
xfxfxf
h
hxfxf
hxfxf
hxfxf
Tdxxf
3
1 x
dx
![Page 185: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/185.jpg)
Trapecijų formulės tikslumas
• Koks yra trapecijų formulės tikslumas?
• Teorema. Jei funkcija f(x) intervale [a,b] turi tolydžiąją antrąją
išvestinę, tai trapecijų formulės paklaida įvertinama tokia nelygybe:
• Kokį garantuotą paklaidos įverčio sumažėjimą užtikrina dvigubas
integravimo žingsnio h sumažinimas? Palyginkite su stačiakampių
formulėmis.
• Sprendžiant realius uždavinius rėžio M2 apskaičiavimas yra sudė-
tingas, ypač kai funkcijos f(x) pavidalas nėra žinomas, o žinoma tik
reikšmių lentelė.
• Todėl skaitinio integravimo algoritme dalinių intervalų skaičius yra
dvigubinamas tol, kol trapecijų formulės paklaida pagal Rungės
taisyklę taps mažesnė už ε :
].;[ kai ,)( ,12
)(
12)( 22
3
2
2
2 baxMxfN
abMh
abMTdxxf
b
a
N
.3
2
NN TT
![Page 186: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/186.jpg)
Simpsono (parabolių) formulė
• Simpsono formulė sudaroma parabolėmis pakeitus funkciją f(x).
• Padalykime integravimo intervalą [a, b] į lyginį dalių skaičių
• Kiekviename intervale [xi, xi+2] nubrėžkime parabolės, einančias
per taškus
• Ši parabolė reiškiama tokia kvadratine lygtimi (žr. Niutono
interpoliacinį daugianarį L2(x)):
.2 ,,,,...,, 110 mNN
abhhxxbxxxa iiN
)).(,()),(,()),(,( 2211 iiiiii xfxxfxxfx
).)((2
)()(2)()(
)()()()( 12
121
iiiii
iii
i xxxxh
xfxfxfxx
h
xfxfxfxy
![Page 187: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/187.jpg)
Simpsono formulė • Įrašę šias funkcijas į pradinį integralą ir suintegravę, gauname
Simpsono (parabolių) formulę:
• Pavyzdys. Apskaičiuokite integralą ir paklaidas su N = 4, 8:
• Teorema. Jei funkcija f(x) intervale [a,b] turi tolydžią 4–os
eilęs išvestinę, tai Simpsono formulės paklaida įvertinama tokia
nelygybe:
• Kokį paklaidos įverčio sumažėjimą užtikrina dvigubas integra-
vimo žingsnio h sumažinimas? Palyginkite.
• Sprendžiant realius uždavinius dalinių intervalų skaičius N dvi-
gubinamas tol, kol Simpsono formulės paklaidos įvertis pagal
Rungės taisyklę taps mažesnis už siekiamą tikslumą ε:
.)()(2)(4)(3 1
1
1
2120
N
m
i
m
i
iiN xfxfxfxfh
S
].;[ kai ,)( ,180
)(
180)( 4
)4(
4
5
4
4
4 baxMxfN
abMh
abMSdxxf
b
a
N
.15
2
NN SS
.3
1 x
dx
![Page 188: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/188.jpg)
Skaitinio integravimo paklaidos įvertinimas
• Funkcijos išvestinių rėžių radimas yra sunkus, o kartais ir neiš-sprendžiamas uždavinys.
• Be to teoremų įverčiai, nors ir visada teisingi, gali būti pakan-kamai grubus. Pvz., dėl modulių panaudojimo neatsižvelgiama į galimą paklaidų kompensavimąsi.
• Todėl praktikoje dažniausiai naudojama Rungės taisyklė:
• Jei integralo artiniai IN ir I2N yra apskaičiuoti pagal kurią nors skaitinio integravimo formulę, tai artinio I2N paklaida įvertinama tokia apytiksle lygybe:
čia p = 1, jei artiniai yra apskaičiuoti pagal stačiakampių for-mulę, p = 2 – trapecijų, p = 4 – pagal Simpsono formulę.
,12
)(2
22
p
NNb
a
NN
IIIdxxf
![Page 189: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/189.jpg)
Uždaviniai savarankiškam darbui
1. Kairiųjų ir dešinių stačiakampių, trapecijų ir Simpsono formulėmis apskaičiuokite
integralą su N = 4, 8, 16. Apskaičiuokite tikslias skaitinio integravimo
paklaidas ir paklaidų įverčius pagal Rungės taisyklę.
2. Vienos tūkstantosios tikslumu apskaičiuokite integralą
kairiųjų stačiakampių, trapecijų ir Simpsono formulėmis.
3. Uždaviniai iš literatūros sąrašo mokymo priemonių.
3
1 x
dx
dxx
x
3
2
sin
![Page 190: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/190.jpg)
Skaitiniai tikrinių reikšmių uždavinio sprendimo metodai
![Page 191: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/191.jpg)
Tikrinių reikšmių uždavinys
• Parametro reikšmės, su kuriomis tiesinių lygčių sistema
turi nenulinius sprendinius vadinamos kvadratinės matricos
A tikrinėmis reikšmėmis, o sprendiniai - atitinkamais
matricos A tikriniais vektoriais.
• Pastebėsime, kad praktikoje yra sprendžiami įvairaus tipo
tikrinių reikšmių uždaviniai, kai reikia rasti
– visas matricos A tikrines reikšmės su arba be atitinkamų
tikrinių vektorių,
– tikrines reikšmes, kurios priklauso tam tikrai sričiai
(intervalui) D, su arba be atitinkamų tikrinių vektorių,
– didžiausią (arba mažiausią) moduliu tikrinę reikšmę su
arba be atitinkamo tikrinio vektoriaus.
• Tokie uždaviniai iškila ne tik matematikoje, bet ir fizikoje
mechanikoje, chemijoje, biologijoje, ekonomikoje modeliuo-
jant tam tikros sistemos pusiausvyros būseną (žr. p. 128-133).
xx
A
x
x
![Page 192: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/192.jpg)
Tikrinių reikšmių uždavinys
• Iš tiesinės algebros žinoma, kad homogeninė tiesinių lygčių
sistema
turi nenulinį sprendinį tada ir tik tai tada, kai jos determinantas
lygus nuliui:
• Šis determinantas yra n-ojo laipsnio daugianaris nežinomojo λ
atžvilgiu:
• Šis daugianaris vadinamas matricos A charakteristiniu daugia-
nariu, o lygtis - matricos A charakteristine lygtimi.
• Ji, kaip ir bet kuris n-ojo laipsnio daugianaris, turi n šaknų,
todėl kvadratinė n-os eilės matrica turi n tikrinių reikšmių.
• Iš jų kai kurios gali būti kartotinės ir kompleksinės.
• Pastaba. Kai matrica A yra simetrinė, visos jos tikrinės
reikšmės realios, kai teigiamai apibrėžta – teigiamos.
0)(
xxx EAA
.0
...............
...
...
)det(
21
22221
11211
nnnn
n
n
aaa
aaa
aaa
EA
....)1()()det( 1
1
1 nn
nnn
n cccp
EA
0)( np
![Page 193: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/193.jpg)
Tikrinių reikšmių uždavinio sprendimo etapai a) Charakteristinio daugianario sudarymas;
b) Charakteristinio daugianario šaknų – matricos A tikrinių
reikšmių radimas;
c) Tikrinių vektorių apskaičiavimas.
• Dideliems n charakteristinio daugianario pn(λ) sudarymas
reikalauja labai didelių skaičiavimų.
• Triįstrižainės matricos charakteristinio daugianario pn(λ)
reikšmę galima apskaičiuoti labai taupiai – neieškant šio
daugianario koeficientų, naudojant rekurentinę formulę.
• Bendruoju atveju naudojamos specialios transformacijos, kurių
pagalba iš bendrosios matricos gaunama triįstrižainė su tomis
pačiomis tikrinėmis reikšmėmis.
• Pavyzdžiui, simetrinė matrica suvedama į triįstrižainę
Hausholderio (angl. Hauseholder) transformacijos pagalba.
• pn(λ) šaknys dažniausiai randamos parabolių metodu arba
Šturmo grandinių pagalba.
• Tikrinis vektorius atitinkantis tikrinę reikšmę apskaičiuojamas
atvirkštinių iteracijų metodu.
![Page 194: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/194.jpg)
Laipsnių metodas (angl. power method) • Pateiksime metodą, kuriuo galima rasti didžiausią (arba mažiausią)
moduliu tikrinę reikšmę su atitinkamu tikriniu vektoriumi.
• Tarkime, kad matrica A yra diagonalizuojama (jos tikriniai
vektoriai sudaro pilnąją vektorių sistemą), o didžiausioji modulių
tikrinė reikšmė λ1 nėra kartotinė:
• Pasirenkame pradinį ieškomo tikrinio vektoriaus artinį
(normuotą!): Iteracijos numeris k = 0.
ciklas
ciklo pabaigos sąlygos:
• Jei tikslumo sąlygos netenkinamos, kartojame ciklą su k := k +1.
• Laipsnių metodo konvergavimo greitis yra tiesinis ir priklauso nuo
santykio
.321 n
.1 :2
0
1
0
1 xx
.ir 1
1
12
1
1
1 kkkk xx
,1
1
1
kk xy
A ,
2
1
1
1
11
1
k
kk
y
yx
,, 1
1
1
1
1
kkk xy
.1
2
![Page 195: skaitiniai metodai 1](https://reader034.vdocuments.site/reader034/viewer/2022050710/5892e9ce1a28abc6158b4a53/html5/thumbnails/195.jpg)
Laipsnių metodo pavyzdys • Iš pradžių raskime visas matricos A tikrines reikšmes ir atitinka-
mus tikrinius vektorius iš charakteristinės lygties:
• Toliau laipsnių metodu apskaičiuokime didžiausią moduliu tikrinę
reikšmę su atitinkamu tikriniu vektoriumi vienos tūkstantosios
tikslumu.
.4312
A