elektroniikkapiirien simulointiin
Matias Pekkarinen
25. huhtikuuta 2014
Pro Gradu tutkielma
Jyväskylän yliopisto,Fysiikanlaitos
25.huhtikuuta 2014
Ohjaaja: Kari Loberg
Tässä työssä esitetään kuinka lineaarisissa ja epälineaarisissa elektroniik-
kapiireissätoimivapiirisimulaattoriohjelmavoidaantoteuttaaoliokielellä.Työ
aloitettiin itse kehitetyn TICER-yksinkertaistusalgoritminpohjaltaja yhtenä
työn motivaationa olikin tutkia kuinka kyseistä algoritmia voi käyttää mui-
denanalysointimenetelmienapuna.Työnedetessäosoittautuikin,ettäTICER-
yksinkertaistusta kannattaa käyttää muiden analysointimenetelmien apuna,
sillä se voi nopeuttaa huomattavasti RC-piirien analysointia. TICER ei kui-
tenkaan nopeuttanut ohjelman toimintaa poikkeuksetta,mutta seei hidasta-
nutkaan analysointia koskaan niin paljon, etteikö sitä olisi kannattanut käyt-
tää. Ohjelman pääasiallisena analysointimenetelmänä käytettiin solmupistea-
nalyysiä ja sillä muodostetut yhtälöryhmät ratkaistiin lineaarisissa piireissä
yleensä LU-hajotelmalla tai Gaussin eliminoinnilla, sekä epälineaarisissa pii-
reissä Newton-Raphsonin menetelmällä. Ohjelma ohjelmoitiin javalla ja se
kykenee suorittamaan elektroniikkapiireille niin tasavirta-, vaihtovirta-, kuin
myöstransienttianalyysejä.
1 Johdanto 1
2 Piiriyhtälöiden muodostaminen 2
2.1 Solmupisteanalyysi . . . 2
2.2 TICER . . . 5
3 Piiriyhtälöiden ratkaiseminen 8 3.1 Lineaariset yhtälöryhmät . . . 8
3.1.1 Gaussin eliminointi . . . 9
3.1.2 LU-hajotelma . . . 11
3.1.3 Permutaatiomatriisi. . . 12
3.1.4 Gauss-Jaobinmenetelmä . . . 14
3.1.5 Gauss-Seidelinmenetelmä . . . 17
3.2 Epälineaarisetyhtälöryhmät . . . 19
3.2.1 Yksiulotteinen Newtonin menetelmä . . . 19
3.2.2 MoniulotteinenNewtonin menetelmä . . . 21
3.2.3 Piirinlinearisointi . . . 25
3.2.4 Jyrkän kasvun menetelmä (Steepest Desent method) . . . 26
4 Piirin analysointi 29 4.1 Tasavirta-,eliDC-analyysi . . . 29
4.2 Vaihtovirta-eliAC-analyysi . . . 30
4.3 Transienttianalyysi . . . 31
4.3.1 Eulerin menetelmät . . . 33
4.3.2 Puolisuunnikassääntö . . . 36
5 Ohjelman toiminta 39 5.1 Piirintopologia . . . 39
5.1.1 Kytkentämatriisi . . . 39
5.1.2 Kytkentäoliot . . . 41
5.2 Piirinkomponentitja niiden ominaisuudet . . . 42
5.3 Ohjelmanmatemaattisetmuuttujat . . . 42
5.4.2 LU-hajotelmanalgoritmi . . . 44
5.4.3 Moniulotteisen Newtoninmenetelmän algoritmi . . . 45
5.5 Ohjelmanpiirialgoritmit . . . 45
5.5.1 Solmupistealgoritmi. . . 45
5.5.2 TICER-algoritmi . . . 46
5.6 Piirialgoritmiennopeus . . . 48
6 Ohjelman käyttö 50 6.1 Piirinkuvantamiskäskyt . . . 50
6.1.1 Vastukset . . . 50
6.1.2 Riippumattomatlähteet . . . 51
6.1.3 Kondensaattorit ja induktorit . . . 51
6.1.4 Riippuvaisetlähteet . . . 52
6.2 Piirinanalysointikäskyt . . . 52
6.2.1 Tasavirta-ja vaihtovirta-analyysi . . . 52
6.2.2 Transienttianalyysi . . . 53
7 Johtopäätökset 54
A Liite: Gaussin-eliminointi algoritmi 59
B Liite: Newtonin menetelmän algoritmi 61
C Liite: Vahvistin 63
D Liite: Lineaarinen piiri 65
E Liite: Epälineaarinen piiri 67
Tämäntyöntarkoituksena onkehittää tietokoneohjelma, jotavoidaankäyttääapu-
na, sekä lineaaristen, että epälineaaristen piirien tutkimisessa. Ohjelma ohjelmoi-
daan oliokielellä. Työn lähtökohtana on ohjelman edellinen kehitysvaihe, eli työs-
sä [13℄ kehitetty TICER-yksinkertaistusalgoritmi, jota voidaan soveltaa yksinker-
taistuksen lisäksimyös erilaisissapiirianalyyseissä. Tarkoituksena ei kuitenkaan ole
pelkästään jatkokehittääkyseistä algoritmia,vaan myöstutkiakuinkamuitapiirien
analysointimenetelmiävoidaantoteuttaaoliolähtökohtaisesti.Sekätutkiakuinkahy-
vinyksinkertaistustoimiiniidenapualgoritmina.Käytännössäyksinkertaistettupiiri
on yleensä aina helpompi analysoida, mutta siitä ei kuitenkaan ole aina varmuut-
ta, että maksaako yksinkertaistuksen tuoma helpotus analyysiin itse yksinkertais-
tuksen vaivan. Eli voidaanko ensin yksinkertaistus ja sen jälkeen yksinkertaistetun
piirin analysointi suorittaaniin nopeasti, että se on nopeampi menetelmä kuin yk-
sinkertaistamattoman piirin suora analysointi. Myös ohjelman toiminta-aluetta on
tarkoitus laajentaa. Ohjelman edellisessä versiossa voitiin suorittaa vain tasavirta-
analyysejä lineaarisillepiireille, mutta tässä työssä kehitetyn ohjelman tarkoitukse-
naontoimia myösepälineaarisissapiireissä,sekätarjota mahdollisuudettasavirta-,
vaihtovirta-ja transienttianalyyseihin.
2.1 Solmupisteanalyysi
Solmupisteanalyysionpiirianalyysi,missäpiiristävalitaanyksikytkentäpistevertai-
lukohteeksi ja muut piirin kytkentäpisteiden jännitteetlasketaanverrattuna siihen.
Vertailupisteeksi valitaan usein maadoitettu kytkentäpiste, silläsen jännite tunne-
taan joennaltajasilleeitarvita omaajännitemuuttujaa.Piiriyhtälöidenmuodosta-
minen aloitetaanmuodostamallavirtayhtälöpiirin jokaiselle kytkentäpisteelle. Vir-
tayhtälömuodostetaan Kirhonvirtalainmukaan,jonkamukaankaikkienkytken-
täpisteeseen saapuvien virtojen summa on nolla. Eli esimerkiksi kuvan 1 mukaisen
kytkennän kytkentäpisteen 4 virtayhtälö voidaan kirjoittaa.
i 14 + i 24 + i 34 = 0
(1)Kuva1: KCL-yhtälö
Tämänjälkeensaadutyhtälötpyritäänmuokkaamaansiten,ettäsiinäkäytetään
muuttujinavainjännitemuuttujia.MuokkausonnistuuKirhonjännitelainavulla,
jonka mukaan esimerkiksi kytkentäpisteiden 1, 4 välinen jännite on
v 14 = v 1 − v 4 ja siten virtayhtälön muuttuja i 14 voidaan korvata yhtälöllä i 14 = V 1 R − 14 V 4. Sama
i 14 = V 1 R − 14 V 4. Sama
voidaan toistaa jokaisen virtamuuttujan kohdalla ja kun yhtälöstä (1) korvataan
kaikki virtamuuttujat jännitemuuttujilla,saadaan
V 1 − V 4
R 14
+ V 3 − V 4
R 34
+ V 2 − V 4
R 24
= 0.
kohdalla,niistä voidaan muodostaayhtälöryhmä,jonkaratkaisustasaadaan selville
kaikkien kytkentäpisteiden jännitteet.
Solmupistemenetelmänkäyttäminenedellyttääuseinpiirinmuokkausta,silläjos-
kuskytkentäpisteen virtayhtälöäeivoidasuoraanmuuntaa pelkästäänjännitemuut-
tujistariippuvaiseksi.Näinonesimerkiksikuvan2mukaisenjännitelähteenkohdalla,
koskakytkennän virtayhtälön
i 1 + i 2 + i 3 = 0
muuttujaai 2 eivoida suoraankuvan-
taa kytkentävälin1,2jännitemuuttujilla.Käytännössäjokaisellajännitelähteelläon
kuitenkin myös oma sisäinen vastus ja siten kytkentä voidaan korvata. Esimerkik-
si jos oletetaan, että kuvan 2 mukaisen jännitelähteen
V 1 sisäinen vastus on R in,
niinse voidaan korvata kuvan3mukaisellakytkennällä [3℄. Tämäei kuitenkaan ole
ratkaisu ongelmaan,silläsimulointiohjelmanonkyettävä analysoimaanmyösideaa-
lilähteitä.Ongelmavoidaankorjatakäsittelemälläkuvan2mukaistajännitelähdettä
ns. superkytkentäpisteenä, jolloinkytkentäpisteistä 1, 2 vain toista käsitellään ver-
tailupisteenä [15℄. Eliyhtälöt muodostetaan oikeastaan kuvan 4mukaisesta piiristä
ja kyseisen kytkennän yhtälövoidaankirjoittaamuotoon
V 1 − V 3 R 1
+ V 1 − V 4 R 2
+ V 1 − V a − V 5 R 3
+ V 1 − V a − V 6 R 4
= 0.
Tällainen kytkennän korvaaminen on kuitenkin turhaa, sillä usein etenkin laa-
joissapiireissäsiitävoitulla hyvin monimutkaista.Parhaanaratkaisunaongelmaan
toimiianalysointimenetelmänmuokkaaminenjakäytössäolevienmuuttujienmäärän
lisääminen. Esimerkiksi kuvan 2mukaisenkytkennän virtayhtälöön
i 1 + i 2 + i 3 = 0
voidaan
i 2 jättäämuuttujaksija näinongelmaohitetaanlisäämällätuntemattomien määrää yhdellä. Kyseistä analysointimenetelmää kutsutaankin muokatuksi solmu-
Kuva 4:Kuvan2 kytkennän muunnos
pisteanalyysiksi.
Muokattu solmupisteanalyysi on nimensä mukaisesti solmupisteanalyysistä ke-
hitetty analyysimenetelmä.Muokattu solmupisteanalyysi eipaljoa eroa tavallisesta
solmupisteanalyysistä.Ainoanaeronavoidaanpitääsitä,että kaikkiaKirhonvir-
talain mukaisesti muodostetuita yhtälöitä ei muokata pelkästään jännitemuuttujis-
ta riippuvaisiksi, vaan jännitemuuttujien lisäksi muuttujina käytetään myös virta-
muuttujia. Kyseisten lisämuuttujien tarkoituksena ei kuitenkaan ole helpottaa yh-
tälöryhmien ratkaisua vaan niiden muodostamista [11℄. Lisämuuttujat itse asiassa
useimmiten vain vaikeuttavat yhtälöryhmän ratkaisua, mutta algoritmitasolla laa-
jatyhtälöryhmäteivätoleniinsuuriongelmakuintulkinnanvaraisetjamuokattavat
kytkennät.Edelläosoitettiinkinjokuinkariippumattomanjännitelähteentapaukses-
sa lisämuuttujaksi jätetty virta helpottaa solmupisteyhtälön muodostamista. Sama
ideapätee myösuseillemuillekomponenteille,kutenriippuvaisillejännitelähteilleja
induktoreille.Piiriinjätetäänmuokatussasolmupisteanalyysissätavallisestimyösne
2.2 TICER
TICER onpiirien yksinkertaistusmenetelmä, jotavoidaan käyttääapuna piiriyhtä-
löidenmuodostamisessa.TICERiäsovelletaanyleensävainRC-piireissä,koskaRLC-
piireissäTICERissäkäytettäväkolmio-tähtimuunnosmuuttaapiirinominaisuuksia
[14℄. Yksinkertaistaminen aloitetaan kaikista rinnan- ja sarjaankytketyistä passiivi
komponenteista, koskaniiden yksinkertaistaminenvoi luodauusia tähti-ja kolmio-
kytkentöjä.Tämänjälkeenyksinkertaistamistajatketaanns.kolmio-tähtimuunnok-
senavulla.Kolmio-tähtimuunnoksessakuvassa5olevakolmionmuotoinenkytkentä
muunnetaan saman kuvantähtikuvion mukaiseksikytkennäksi tai toisinpäin.
Kyseinenmuunnoskolmiostatähdeksiyksinkertaistaapiiriä,silläsolmupisteiden
määrä voi vähentyä kahdella. Muunnosta voidaan käyttää kytkentäpisteissä, joihin
onkytketty vainvastuksia taikondensaattoreita. Muunnos onnistuu yhtälöillä [4℄
R 14 = R 12 · R 13
R 12 + R 23 + R 13
R 24 = R 12 · R 23
R 12 + R 23 + R 13 R 34 = R 13 · R 23
R 12 + R 23 + R 13
ja muunnettaessa tähtikytkentä kolmiokytkennäksi voidaan käyttääseuraavia.
R 12 = R 12 · R 13 + R 12 · R 23 + R 13 · R 23
R 34
R 13 = R 12 · R 13 + R 12 · R 23 + R 13 · R 23
R 24
R 23 = R 12 · R 13 + R 12 · R 23 + R 13 · R 23
R 14
Vaikka TICER on edellä mainitun mukaisesti yksinkertaistusmenetelmä, sovel-
tuu se myös RC-piirienanalysointiin,joissa sitäsovelletaan superpositiopiireittäin.
Superpositiopiireittäin käytettynä TICER yksinkertaistaa piirit niin pitkälle, että
yksinkertaistetussa piirissä ei ole enää yhtään tuntematonta muuttujaa. Yksinker-
taistamisen jälkeen piirin yksinkertaistusvoidaan purkaa ja samalla voidaan laskea
palautetun piirin tuntemattomat tekijät. Lopulta kun koko superpositiopiirin yk-
sinkertaistus on palautettu, ei superpositiopiirissä ole enää yhtään tuntematonta
muuttujaa. Superpositiopiireittäin soveltaminen ei rajoita TICERin käyttöä vain
riippumattomiinjalineaarisiinpiireihin.Silläpiirejävoidaan,sekälinearisoida,että
analysoida riippuvuuksienmukaan. Tuohonpiirin linearisointiinpalataanmyöhem-
min, mutta jos analysoitavana on liitteen C mukainen piiri, jossa ilmenee riippu-
vuuksia, niinanalysointikannattaa aloittaariippumattomista superpositiopiireistä.
Riippumattomatsuperpositiopiiritlasketaankutentavallisesti,muttariippuvaisista
lähteistä muodostetuissa superpositiopiireissä riippuvaisten lähteiden arvot käsitel-
lään symbolisina. Esimerkiksi lähteen
e1
arvona käytetään muuttujaa999000V 12,
koska se on riippuvainen kytkentävälin (1,2) jännitteestä ja sen kerroin on
999000
.Lopuksi kaikkiensuperpositiopiirienarvotsummataan yhteen ja jos oletetaan, että
V 1 = 3
V niinvaikuttavilla väleillä(1,2), (4,5), (8,7) superpositiopiirienjännittei- densummatovat3−666000V 12 −333000V 45 −0V 87,5−333000V 12 −666000V 45 +0V 87,
0 − 499500V 12 + 499500V 45 − 499500V 87. Kyseisistä arvoista voidaan edelleen muo-
dostaa yhtälöryhmä
V 12 = 3 − 666000V 12 − 333000V 45 − 0V 87
V 45 = 5 − 333000V 12 − 666000V 45 + 0V 87 . V 87 = 0 − 499500V 12 + 499500V 45 − 499500V 87
Yhtälöryhmän ratkaisemisenjälkeen vaikuttavientekijöiden arvot tunnetaan
V 12 =
1.00101·10 − 6 V,V 45 = 6.99997·10 − 6 V,V 87 = 6.00598·10 − 6 Vjanevoidaansijoittaa.
V 87 = 6.00598·10 − 6 Vjanevoidaansijoittaa.
Esimerkiksi sijoitettaessa arvot riippuvaisten jännitelähteiden yhtälöihin saadaan
V 3 = 999000V 12 = 1, 00001
V,V 6 = 999000V 45 = 6, 99999
V,V 9 = 999000V 87 = 5, 99997
V.Edellä osoitetun mukaisesti TICER onkätevä analysointimenetelmä,mutta sen
avulla suoritettava yksinkertaistus, sekä nopeuttaa että helpottaa myös muiden
analysointimenetelmien käyttöä. Esimerkiksi solmupisteanalyysissä yhtälöryhmän
muuttujienmäärä riippuvainen solmupisteiden määrästäja TICERiävoidaankäyt-
tää niiden vähentämisessä. Siihen kuinka paljon TICER nopeuttaa solmupisteana-
lyysissä palataanluvuissa 5.5.2 ja 5.6.
3.1 Lineaariset yhtälöryhmät
Lineaarisestapiiristäsolmupistemenetelmällämuodostettuyhtälöryhmäonainamuo-
toa
N 1 : a 11 V 1 + a 12 V 2 + ...+ a 1n V n = b 1
N 2 : a 21 V 1 + a 22 V 2 + ...+ a 2n V n = b 2
.
.
.
N n : a n1 V 1 + a n2 V 2 + ...+ a nn V n = b n
(2)
, missä
V 1 , V 2 , ..., V n ovatsolmupisteiden tuntemattomia jännitteitä.Kyseinen yhtä- löryhmä voidaanesittää myösmuodossa
Ax = b
(3), missä
A
on yhtälöryhmän muuttujien kertoimien arvoja esittävä matriisi,x
onmuuttujien
V 1 , V 2 , ..., V n vektori jab
onvakioarvojenb 1 , b 2 , ..., b nvektori. Yhtälöryh-
män ratkaisemiseksiyhtälöryhmäon yksinkertaistettava muotoon
N 1 : V 1 0 · · · 0 = r1 N 2 : 0 V 2
.
.
. .
.
.
= r 2
.
.
. .
.
. .
.
. .
.
.
0
...N n : 0 · · · 0 V n = r n
, missä
a ii = 1
jaa ij = 0
, kuni 6= j
. Lineaarisen yhtälöryhmän ratkaisemises- sa voidaan käyttää, sekä ns. suoria, että iteratiivisia menetelmiä. Suorissa mene-telmissä yhtälöryhmä ratkaistaan äärellisellämäärällä lineaarisia laskutoimituksia.
Suorilla menetelmillä saatu tulos on teoreettisesti tarkka, mutta pyöristysvirheet
vaikuttavat kuitenkin osittain tulokseen. Suorat menetelmät eivät tarkkuudestaan
huolimatta kuitenkaan ole aina se paras vaihtoehto yhtälöryhmän ratkaisemiseksi,
vaan ne kannattaa korvata ns. iteratiivisilla menetelmillä. Iteratiivisissa menetel-
missä oikean ratkaisun etsiminen aloitetaan ns. alkuarvauksesta ja alkuarvauksen
alkuarvausonoikeaa tulostaja esimerkiksigraaenpisteitälaskettaessa laskettavan
pisteen arvo ei yleensä ole kovin kaukana edellisestä. Tämän takiaainakin graafeja
laskettaessa suoratmenetelmätkannattaa useinkorvata iteratiivisilla.Iteratiivisten
menetelmien etuna graafeissa on myös se, että se on tarkka vain haluttuun pistee-
seen asti ja koska graat voidaan esittää vain tiettyyn tarkkuuteen asti, ei suorien
menetelmien tarkkuudesta ole hyötyä. Iteratiivisia menetelmiä ei kuitenkaan voida
soveltaaihan jokatilanteessa,silläedellytyksenä iteratiivistenmenetelmienkäytölle
on, että yhtälöryhmän(3) kerroinmatriisi
A
suppenee [6℄. Suppenemiseen vaikutta- vat diagonaaliarvojensuuruus muihin arvoihin verrattuna ja suppeneminen onsitänopeampaa, sekä varmempaa mitä suurempia diagonaalielementit ovat verrattuna
muihin arvoihin. Suppenemisen varmistamiseksi ja nopeuttamiseksi yhtälöryhmää
tavallisesti muokataankin siten, että diagonaaliarvot ovat suuria. Muokkaus onnis-
tuu mm. permutaatiomatriisinavulla. Iteratiivisia menetelmiä ei kannata soveltaa,
jos tälläinenmuokkaus eionnistu.
3.1.1 Gaussin eliminointi
Gaussin eliminointion ns. suoramenetelmä yhtälöryhmänratkaisemiseksi.Gaussin
eliminoinnissayhtälöryhmä(2) saatetaan lineaarisialaskutoimituksia
N i = λN i (4)
N i = N i ± N k λ
(5)hyödyntäen yläkolmiomuotoon
N 1 : a 11 V 1 + a 12 V 2 + ...+ a 1n V n = y 1
N 2 : 0 a 22 V 2 + ...+ a 2n V n = y 2
.
.
.
.
.
.
.
.
. .
.
.
N n : 0 · · · 0 a nn V n = y n
,missä
a ij = 0
, kuni > j
. Kunyhtälöryhmä onsaatu tähänyläkolmiomuotoon,onV = y /a
saadaan edelleen ratkaistua yhtälö
N n − 1 ja sijoituksia jatkamalla on lopulta koko yhtälöryhmä ratkaistu.
Esimerkki Gaussin eliminoinnista Ratkaistaaksemme yhtälöryhmän
N 1 : 3V 1 + V 2 + 2V 3 = 1 N 2 : 3V 1 + 5V 2 + V 3 = 2 N 3 : 3V 1 + 2V 2 + 8V 3 = 3
Gaussinmenetelmälläonkyseinenyhtälöryhmäensinsaatavamuokattuayläkolmio-
matriisiksi.Muokkaus onnistuu eteenpäin etenevillä lineaarisillalaskutoimituksilla.
N 2 = N 2 − N 1
N 3 = N 3 − N 1
N 1 : 3V 1 + V 2 + 2V 3 = 1 N 2 : 0+ 4V 2 − V 3 = 1 N 3 : 0+ V 2 + 6V 3 = 2
N 3 = N 3 − 1 4 N 2
N 1 : 3V 1 + V 2 + 2V 3 = 1 N 2 : 0+ 4V 2 − V 3 = 1 N 3 : 0+ 0+ 6.25V 3 = 1.75
Nyt on matriisisaatu yläkolmiomuotoonja muokkausta jatketaan tästä taaksepäin
etenevillä sijoituksillatavoitteena tehdäkerroin matriisistayksikkömatriisi.
N 3 = N 3 /6.25
N 1 : 3V 1 + V 2 + 2V 3 = 1 N 2 : 0+ 4V 2 − V 3 = 1
N : 0+ 0+ V = 7/25
N 2 = N 2 + N 3
4
N 1 : 3V 1 + V 2 + 2V 3 = 1 N 2 : 0+ V 2 + 0 = 8/25 N 3 : 0+ 0+ V 3 = 7/25
N 1 = N 1 − N 2 − 2N 3
3
N 1 : V 1 + 0+ 0 = 1/25 N 2 : 0+ V 2 + 0 = 8/25 N 3 : 0+ 0+ V 3 = 7/25
3.1.2 LU-hajotelma
LU-hajotelmaontoiminnaltaanhyvin paljonGaussineliminoinninkaltainen.Kum-
massakin menetelmässä yhtälöryhmää muokataan lineaarisillaoperaatioilla, mutta
kunGaussineliminoinnissaetsitäänratkaisuayhtälöryhmälle(3),niinLU-hajotelmassa
etsitään ratkaisua yhtälöryhmälle
Ax = LUx = b
(6),missä
LU
onmatriisinA
kolmiohajotelmaeliA = LU
[2℄.Kolmiohajotelmanmat- riiseistaL
on alakolmiomatriisi jaU
on yläkolmiomatriisi. Niiden laskemiseen on olemassa useita eri menetelmiä ja ne saadaan laskettua myös Gaussin eliminointiahyödyntäen. Gaussineliminoinnillalaskien LU-hajotelman yläkolmio matriisiU on
sama,jokasaadaanGaussineteenpäin eliminoinnissaja alakolmiomatriisionniiden
kerrointen matriisi, joilla kerroinmatriisia
A
muokattiin eteenpäin eliminoinnin ai- kana [16℄. Esimerkiksi jos kappaleessa 3.1.1 esitetyn Gaussin eliminointi esimerkinmukaisesta kerroinmatriisista muodostetaan yläkolmio ja alakolmio matriisit. Niin
U =
3 1 2 0 4 −1 0 0 6.25
, eli se onsama kuinGaussin eliminointiesimerkissä eliminointivaiheenjälkeen tu-
lokseksi saatu yläkolmiomatriisi.Kyseisen esimerkinLU-hajotelman alakolmiomat-
riisi taas on eteenpäin suoritettujen eliminointien
N 2 = N 2 − N 1 , N 3 = N 3 − N 1,
sekä
N 3 = N 3 − 1 4 N 2 mukainen.
L =
1 0 0 1 1 0 1 1 4 1
Ylä- ja alakolmio matriisien muodostamisen jälkeen yhtälö (6) ratkaistaan kuten
Gaussin eliminoinnissa,mutta eteenpäin eliminointivaihe suoritetaanyhtälölle
Ly = b
ja sen jälkeen taaksepäin sijoitusyhtälölle
Ux = y.
3.1.3 Permutaatiomatriisi
Permutaatiomatriisionmatriisi,jossaonyksi nollastapoikkeavaalkiojokaistariviä
jasaraketta kohti,sekäjokaisennollastaeroavanalkionarvoon1.Permutaatiomat-
riisitoteuttaa seuraavatyhtälöt
n
X
i=1
p ij = 1, 1 ≤ j ≤ n
n
X
j=1
p ij = 1, 1 ≤ i ≤ n
tiomatriisi onkuten yksikkömatriisi, mutta permutaatiomatriisinjokainen nollasta
poikkeva alkioei sijaitse matriisindiagonaalilla,kuten yksikkömatriisissa. Siten jo-
kainenpermutaatiomatriisivoidaanjohtaa yksikkömatriisistamuuttamallayksikkö-
matriisinrivien järjestystä.
Permutaatiomatriisiatarvitaaniteratiivisissamenetelmissä,kundiagonaaliluku-
ja on tarve muuttaa. Sitä käytetään myös joskus Gaussin eliminoinnissa tai LU-
hajotelmassa, kun jokin matriisin diagonaalialkioista
a ii on arvoltaan 0. Tällöin
yhtälöryhmä on mahdotonta ratkaista muokkaamatta sitä, koska tuntemattoman
muuttujankerroinon0.Gaussineliminoinnissatilanteenpystyy kylläkinsitätoden-
näköisemminkorjaamaanpermutaatiomatriisinlisäksimyösyhtälöillä(4),(5), mitä
varhaisemmassa vaiheessa yksinkertaistus on. LU-hajotelmassa tilanteen korjaami-
nenpelkästäänyhtälöitä(4),(5)käyttäen onkuitenkin mahdotonta,koskamatriisit
Lja U ovat kolmiomatriiseja.Tilanteen korjaamiseksi tarvitaanrivienvaihtoa, joka
onnistuu juuri permutaatiomatriisinavulla.Jos esimerkiksi rivien1 ja 2 järjestystä
täytyy muuttaa, onpermutaatiomatriisimuotoa
P =
0 1 0 . . . 0 1 0 0 . . . 0 0 0 1
.
.
. .
.
. .
.
.
0 0 1
.
Rivienjärjestysmuuttuukertomallayhtälöryhmä(3)permutaatiomatriisillasenva-
semmaltapuolelta
P Ax = P b.
Permutaatiomatriisiavoikäyttäämyössarakkeidenjärjestyksenmuuttamiseen,mut-
tasilloinyhtälöryhmä(3)kerrotaanpermutaatiomatriisillasen oikealtapuolelta,ei-
kä vakioarvoja kerrota
AxP = b.
Permutaatiomatriisia voidaan käyttää myös suorien ja iteratiivisten menetelmien
naalielementtienarvotkasvavatverrattunamuihinarvoihinjapermutaatiomatriisin
avulla diagonaaliarvoja voidaanjoskus suurentaa verrattuna muihinarvoihin.
3.1.4 Gauss-Jaobin menetelmä
Gauss-JaobinmenetelmäeioleGaussineliminoinninjaLU-hajotelmantavoinsuora
menetelmä, vaan se on iteratiivinen menetelmä. Yhtälöryhmän (3) kerroinmatriisi
A hajotetaanmuotoon
A = L + D + U
[19℄, missäL =
0 0 · · · 0 a 21 0
... ....
.
. .
.
. .
.
.
0
a n1 · · · a n,n − 1 0
D =
a 11 0 · · · 0 0 a 22
.
.
. .
.
.
.
.
. .
.
. .
.
.
0 0 · · · 0 a nn
U =
0 a 12 · · · a 1n
0 0
... ....
.
. .
.
. .
.
.
a n − 1,n
0 · · · 0 0
.
Kyseisessä hajotelmassa esiintyvät matriisit
L
,U
eivät kuitenkaan ole samat kuinkappaleessa 3.1.2 esitetyt LU-hajotelman
L
,U
matriisit. YhtälönA = L + D + U
avulla yhtälö(3) saadaanmuotoon
(L + D + U )x = b
(7)Dx = b − (L + U )x
x = D − 1 b − D − 1 (L + U )x
(8)ja johonsijoitetaanalkuarvaus mahdollisenratkaisunarvoista.Yleensä alkuarvauk-
sena käytetään arvoja
x = [0, ..., 0] T. Alkuarvaus sijoitetaan yhtälöön (8) ja lasku- vaiheen k iteraatiovoidaan esittääseuraavasti
x (k) = D − 1 b − D − 1 (L + U )x (k − 1) (9)
Suoraankerroinmatriisin
A
kertoimillalaskettunayhtälö(9)voidaankirjoittaamyös muotoonx (k) i = 1 a ii
n
X j = 1 j 6= i
(−a ij x (k j − 1) ) + b i
, i = 1, 2, ..., n.
Esimerkki Gauss-Jaobin menetelmän käytöstä
3 1 2 3 5 1 3 2 8
x =
1 2 3
Yhtälöryhmän ratkaiseminen aloitetaantekemällä kerroinmatriisistahajotelma.
L =
0 0 0 3 0 0 3 2 0
, D =
3 0 0 0 5 0 0 0 8
, U =
0 1 2 0 0 1 0 0 0
Hajotelman tekemisen jälkeen on valittava alkuarvaus
x (0) = [0, 0, 0] T, joka sijoite-
taan yhtälöön (9)ja saatu yhtälöryhmä ratkaistaan.
Dx (1) = b − (L + U )x (0)
3 0 0 0 5 0 0 0 8
x (1) 1 x (1) 2 x (1) 3
=
1 2 3
−
0 1 2 3 0 1 3 2 0
x (0) 1 x (0) 2 x (0) 3
3 0 0 0 5 0 0 0 8
x (1) 1 x (1) 2 x (1) 3
=
1 2 3
−
0 1 2 3 0 1 3 2 0
0 0 0
3x (1) 1 0 0 0 5x (1) 2 0 0 0 8x (1) 3
=
1 2 3
x (1) 1 = 1/3 x (1) 2 = 2/5 x (1) 3 = 3/8
Yhtälöryhmän ratkaisemisen jälkeen saatu tulos sijoitetaan uudelleen yhtälöön (9)
ja yhtälöryhmä ratkaistaan.
3 0 0 0 5 0 0 0 8
x (2) 1 x (2) 2 x (2) 3
=
1 2 3
−
0 1 2 3 0 1 3 2 0
x (1) 1 x (1) 2 x (1) 3
3x (2) 1 0 0 0 5x (2) 2 0 0 0 8x (2) 3
=
1 2 3
−
1.15 1.375
1.8
3x (2) 1 0 0 0 5x (2) 2 0 0 0 8x (2) 3
=
−0.15 0.625
1.2
x (2) 1 = −0.05
x (2) 2 = 0.125
x (2) = 0.15
3.1.5 Gauss-Seidelin menetelmä
Gauss-SeidelinmenetelmäonGauss-Jaobinmenetelmäntavoiniteratiivinenjamuu-
tenkin hyvin samankaltainen kuin Gauss-Jaobin menetelmä. Ainoana erona voi-
daan pitää sitä, että yhtälön (8) sijastaratkaistaanyhtälö
(L + D)x = b − Ux
x = (L + D) − 1 b − (L + D) − 1 x
(10), eli yhtälöä (7) muokataan vain toisin ja siten yhtälöryhmän ratkaisulle saadaan
erilaiset lähtökohdat, kuin Gauss-Jaobin menetelmässä. Yhtälö (10) voidaan kir-
joittaakerroinmatriisin
A
kertoimienavulla myös muotoon[7℄.x (k) i = 1 a ii
b i −
i − 1
X
j=1
(a ij x (k) j ) −
n
X
j=i+1
(a ij x (k j − 1) )
!
Kyseisestä yhtälöstä voidaan havaita, että iteraatioissa hyödynnetään myös saman
iteraatiovaiheenaiemmin laskettuja arvoja
x (k) j . Eli myös tältä osin Gauss-Seidelin menetelmäpoikkeaaGauss-Jaobinmenetelmästä,silläGauss-Jaobinmenetelmäs-
sä hyödynnetään jokaisessa iteraatiossa vain edellisessä iteraatiovaiheessa saatuja
arvoja.
Esimerkki Gauss-Seidelin menetelmän käytöstä Yhtälöryhmänratkaisemi-
nenGauss-SeidelinmenetelmälläeteneehyvinsamanlaisestikuinGauss-Jaobinme-
netelmässä. Vain yhtälö (10), johon hajotelman osat ja alkuarvaus sijoitetaan on
erilainen.
3 1 2 3 5 1 3 2 8
x =
1 2 3
L =
0 0 0 3 0 0 3 2 0
, D =
3 0 0 0 5 0 0 0 8
, U =
0 1 2 0 0 1 0 0 0
(D + L)x (1) = b − Ux (0)
3 0 0 3 5 0 3 2 8
x (1) 1 x (1) 2 x (1) 3
=
1 2 3
−
0 1 2 0 0 1 0 0 0
x (0) 1 x (0) 2 x (0) 3
3x (1) 1 0 0 3x (1) 1 5x (1) 2 0 3x (1) 1 2x (1) 2 8x (1) 3
=
1 2 3
x (1) 1 = 1/3
x (1) 2 = (2 − 1)/5 = 1/5 x (1) 3 = (3 − 1 − 2/5)/8 = 0.2
3 0 0 3 5 0 3 2 8
x (2) 1 x (2) 2 x (2) 3
=
1 2 3
−
0 1 2 0 0 1 0 0 0
x (1) 1 x (1) 2 x (1) 3
3x (2) 1 0 0 3x (2) 1 5x (2) 2 0 3x (2) 1 2x (2) 2 8x (2) 3
=
1 2 3
−
0.6 0.2 0
3x (2) 1 0 0 3x (2) 1 5x (2) 2 0 3x (2) 1 2x (2) 2 8x (2) 3
=
0.4 1.8 3
x (2) 1 = −2/15
x (2) 2 = (1.8 − 0.4)/5 = 0.28
x (2) 3 = (3 − 0.4 − 2 · 0.28)/8 = 0.255
3.2 Epälineaariset yhtälöryhmät
3.2.1 Yksiulotteinen Newtonin menetelmä
Newtonin menetelmä on Sir Isaa Newtonin kehittämä iteratiivinen laskumenetel-
mäfunktioidennollakohtienetsimiseksi.SetunnetaanmyösNewton-Raphsoninme-
netelmänä ja sitä sovelleteen usein erityisesti epälineaarisissa yhtälöissä. Sitä voi-
daan käyttää yhtälöiden ratkaisemiseen muuttamalla yhtälö
f (x) = a
muotoonf (x) − a = 0
, jolloin funktionf (x) − a = 0
nollakohta on samalla myös yhtälönf (x) = a
ratkaisu. Edellytyksenä menetelmän käytölle on kuitenkin, että funktioon juuren läheisyydessä kahdesti derivoituva ja että
f
´(x) 6= 0
. Menetelmä lähteeliikkeelle alkuarvauksesta, jonka arvoa parannetaan iteratiivisesti vaihe vaiheelta.
Graasesti kuvan6 mukaan tarkasteltuna arvonparantaminentapahtuu seuraavas-
ti. Funktiolle
f(x)
lasketaan tangenttig(x)
alkuarvauspisteessäx 0. Tangentti voi-
daan laskea yhtälön (11) mukaisesti
g(x) − f(x 0 ) = f ′ (x 0 )(x − x 0 )
(11)ja saadaan
g(x) = f ′ (x 0 )(x − x 0 ) + f (x 0 ).
(12)Lähtöarvauksen parantamiseksi täytyy saada selville tangenttiyhtälön
g(x)
nolla-g(x) = 0
x = x 1 = x 0 − f(x 0 ) f ′ (x 0 ) .
Saatu luku
x 1 on uusi ja samalla todennäköisesti myös tarkempi approksimaatio
funktion f (x)
nollakohdalle. Approksimaation parantamiseksi iteraatio toistetaan
jalasketaannollakohtafunktionf (x)
,kohdanx 1 tangentille.Samaatoistetaankun-
nes x n+1 − x n < haluttu tarkkuus
.Yleisesti iteraationeteneminen voidaan esittää
x n+1 − x n < haluttu tarkkuus
.Yleisesti iteraationeteneminen voidaan esittääseuraavassa muodossa.
x n+1 = x n − f (x n )
f ′ (x n )
(13)Newtoninmenetelmässäkäytettyalkuarvaus
x 0 voiollasatunnainen,mutta me- netelmätoimiisitävarmemminmitälähempänäalkuarvausonfunktionnollakohtaa.
Esimerkiksi kuvan 7mukaisessagraassaalkuarvaus on liiankaukana oikeasta juu-
restajayhtälön(13)mukaanlaskettulukujonoeisuppene kohtifunktionf(x)oikeaa
juurta.
Menetelmän toimivuusonsiishyvin riippuvainen siitä,mikäalkuarvaus juurelle
asetetaan.Alkuarvonasettaminenonuseinmyösmenetelmänsoveltamisenhankalin
vaihe, etenkin tietokoneella sovellettuna ja epälineaaristen yhtälöiden tapauksessa.
Epälineaaristenyhtälöidenkohdallaalkuarvauksenasettamisentekee hankalaksise,
että niillä on hyvin tavallisesti useampi kuin yksi juuri ja jokaista juurta kohden
tarvitaanvähintään yksialkuarvaus.Yksi alkuarvausjokaistajuurta kohden eiepä-
lineaarisilla yhtälöillä kuitenkaan aina riitä, sillä kaksi eri alkuarvausta voi johtaa
jyrkänkasvun menetelmää.
3.2.2 Moniulotteinen Newtonin menetelmä
Edellä Newtoninmenetelmääsovellettiinyhden muuttujan yhtälöissä. Sitävoidaan
kuitenkin käyttää myös useamman muuttujan yhtälöiden ja yhtälöryhmien ratkai-
suissa. Oletetaanesimerkiksi, ettäfunktio
F (x) = 0
onuseammanmuuttujanyhtä-löryhmä
f 1 (x 1 , x 2 , ..., x n ) = 0 f 2 (x 1 , x 2 , ..., x n ) = 0
.
.
.
.
.
. .
.
.
f n (x 1 , x 2 , ..., x n ) = 0
(14)
,jonkanollakohtaaapproksimoidaanNewtoninmenetelmällä.Moniulotteisennolla-
kohdan löytämiseksi yhtälö (12) on kuitenkin täydennettävä moniulotteiseen muo-
toon, eli jokaiselle funktiolle lasketaan tangettiviivan sijasta tangenttitaso ja funk-
tiosta onlaskettavatangentti sen jokaisen muuttujanmukaan.
g i (x) = f i (x (k) )+ ∂f i
∂x 1
x ( k )
(x 1 −x (k) 1 )+ ∂f i
∂x 2
x ( k )
(x 2 −x (k) 2 )+· · ·+ ∂f i
∂x n
x ( k )
(x n −x (k) n ), i = 1, ..., n
Kyseinen yhtälövoidaan esittäämyös muodossa [17℄
G k (x) = f (x (k) ) +
∂f 1
∂x 1
∂f 1
∂x 2 · · · ∂x ∂f 1 n
∂f 2
∂x 1
∂f 2
∂x 2 · · · ∂x ∂f 2 n
.
.
. .
.
.
.
.
.
∂f n
∂x 1
∂f n
∂x 2 · · · ∂f ∂x n n
(x − x (k) ) = f(x (k) ) + J (x (k) )(x − x (k) )
(15)
, missä matriisi
J (x)
tunnetaan Jaobianmatriisina. Tangenttitasojen yhtymäkoh- tienx
selvittämiseksi 0-tasossavoidaan asettaaG k (x) = 0
, ja yhtälö (15) saa muo-don
x = x (k) − f(x (k) ) J (x (k) )
ja yleisemminpätevänä iteraatioyhtälönäse voidaan esittää muodossa
x (k+1) = x (k) − f (x (k) )
J(x (k) ) .
(16)Yhtälön(16)mukaanlaskettunaJaobianmatriisistatäytyisikuitenkinlaskeakään-
teismatriisi, joka on aikaa vievää ja yhtälö kannattaa ennemmin kertoa Jaobian
matriisilla.
J(x (k) )(x (k+1) − x (k) ) = −f(x (k) )
(17)Saatuyhtälöryhmä(17)onkätevämpijanopeampiratkaista,josyhtälöönsijoitetaan
y (k) = x (k+1) − x (k) (18)
ja yhtälöryhmä (17) saa muodon
J (x (k) )(y (k) ) = −f(x (k) ).
(19)Kyseessäonlineaarinenyhtälöryhmä,jokavoidaanratkaistaesimerkiksijotakinsuo-
raa menetelmä, kuten Gaussin eliminointiakäyttäen. Yhtälöryhmän ratkaisun jäl-
keensaatutulos
y (k)voidaansijoittaayhtälöön(18)javaiheen(k+1)
approksimaatio
saadaan lasketuksi. Tämän jälkeen tulokseksi saatu approksimaatio sijoitetaanyhä
uudelleen yhtälöön (17), kunnes approksimaatioon niintarkka,kuin ontarpeen.
TeoreettisestitarkasteltunaNewtoninmenetelmäsaattaavaikuttaahyvinkinmo-
nimutkaiseltamenetelmältäepälineaaristenyhtälöryhmienratkaisemiseksi.Käytän-
nössä Newtoninmenetelmä eikuitenkaan olekovinkaan monimutkainen ja pieniai-
heenmukainenesimerkkiosoittaasenparhaiten.Oletetaanesimerkiksi,ettäratkais-
tavana on kuvan 8 mukaisesta epälineaarisesta piiristä muodostettu epälineaarinen
yhtälöryhmä.
f (v 1 , v 2 , v 3 , i 3 ) =
v 2 − v 1
1 + v 2 1 − 2 = 0
v 2 − v 3
4 + v 2 − 1 v 1 + v 2 2 = 0
v 3 − v 2
4 + v 4 3 − i 2 3 = 0
v 2
2 − i 3 = 0
YhtälöryhmänlinearisoimiseksionyhtälöryhmästälaskettavaJaobianmatriisi,jo-
ka voidaan laskea yhtälön (15) mukaisesti ja Jaobian matriisinyleiseksi muodoksi
saadaan
J(x (n) ) =
1.5 −1 0 0
−1 1.75 −0.25 0 0 −0.25 0.5 −2I 3
0 0, 5 0 −1
.
Ennen Newtoninmenetelmän soveltamista onratkaisullekuitenkin vielä asetettava
alkuarvaus, joka onhyvä asettaanollapisteeseen
x (0) = (0, 0, 0, 0).
Tämän jälkeen ensimmäisen approksimaation laskemiseen voidaan käyttääyhtälöä
J(x (0) )y (0) = −f (x (0) )
1.5 −1 0 0
−1 1.75 −0.25 0 0 −0.25 0.5 −2 · 0
0 0.5 0 −1
y 1 (0) y 2 (0) y 3 (0) y 4 (0)
=
2 0 0 0
Kyseisen yhtälöryhmän ratkaisuksi saatu tulos,
y (0) =
2.260870, 1.391304, 0.695652, 0.695652
sijoitetaan lausekkeeseen(18) ja ensimmäisen approksimaationarvoksisaadaan,
x (1) = x (0) + y (0) =
2.260870, 1.391304, 0.695652, 0.695652
.
Saatu tulos voidaan sijoittaa uudelleen yhtälöön(19)
J(x (1) )y (1) = −f (x (1) )
ja toisen approksimaationarvoksi saadaan
x (2) = x (1) + y (1) = (2.525094, 1.787640, 2.413108, 0.893820).
Tätä voidaantoistaa yhä uudelleen, mutta jo neljännessä iteraatiossa saatu tulos
x (4) = (2.55, 1.83, 2.58, 0.91)
, onlähtöarvojen tarkkuuksienmukainen.
Luvussa 3.2.2 Newtonin menetelmää käytettiin epälineaaristen yhtälöryhmien rat-
kaisussa. Yhtälöryhmien ratkaisussa tarvittiin Jaobinmatriisia,jokavoitiinlaskea
epälineaarisesta yhtälöryhmästä. Piirin linearisointi vastaa Newtonin menetelmää
lähes täysin, mutta piirin linearisoinnissa Jaobian matriisia ei lasketa epälineaa-
risesta yhtälöryhmästä, vaan se muodostetaan linearisoidusta piiristä. Menetelmä
lähtee liikkeelle Newtoninmenetelmäntavoinalkuarvauspisteestäja piirilinearisoi-
daan kyseisessä pisteessä. Esimerkiksi jos tarkastellaan kuvan 8 mukaisesta piiriä
ja sen ainoata epälineaarista komponenttia, virtariippuvaista virtalähdettä, jonka
virtaa
i 2 3 kuvaava yhtälö voidaan linearisoida yhtälön (12) mukaisesti. Tulokseksi
saatu tangenttiyhtälö g(x) = 2x 0 (x − x 2 0 ) + x 0 kuvaa virtalähteen käyttäytymistä
pisteen x 0 = i (0) 3 läheisyydessä. Luvun 3.2.2 mukaisessa esimerkissäalkuarvaus ase-
tettiin kyseisen arvon kohdalla arvoon i (0) 3 = 0
. Asettamalla nyt sama alkuarvaus
saadaantangenttiyhtälöksig(x) = 0
,elipisteessä i (0) 3 = 0
linearisoitupiirionkuvan
9 mukainen.
x 0 = i (0) 3 läheisyydessä. Luvun 3.2.2 mukaisessa esimerkissäalkuarvaus ase-
tettiin kyseisen arvon kohdalla arvoon i (0) 3 = 0
. Asettamalla nyt sama alkuarvaus
saadaantangenttiyhtälöksig(x) = 0
,elipisteessä i (0) 3 = 0
linearisoitupiirionkuvan
9 mukainen.
Kuva9: Kuvan8 mukainen piirilinearisoitunapisteessä
i (0) 3 = 0
Piirinlinearisoinnintuloksenasaadusta lineaarisestapiiristävoidaanmuodostaa
f (v 1 , v 2 , v 3 , i 3 ) =
v 2 − v 1
1 + v 2 1 − 2 = 0
v 2 − v 3
4 + v 2 − 1 v 1 + v 2 2 = 0
v 3 − v 2
4 + v 4 3 = 0
v 2
2 − i 3 = 0
,jostavoidaanhavaita,että sevastaatäysinluvussa 3.2.2esitetynesimerkinensim-
mäisen approksimaatiovaiheen mukaista yhtälöryhmää. Yhtälöryhmän ratkaisusta
saadaan ensimmäisen iteraation arvo
i (1) 3 ja piiri voidaan linearisoida saadulla ar- vollataas uudelleen. Tätä toistetaan yhä uudelleen kuten Newtonin menetelmässä,
kunnes tulos on riittäväntarkka.
3.2.4 Jyrkän kasvun menetelmä (Steepest Desent method)
Piirin linearisointija Newtonin menetelmä ovat, sekä nopeita, että tarkkoja mene-
telmiäepälineaaristenyhtälöryhmienratkaisussa.Neovatkuitenkintarkkuudestaan
ja nopeudestaan huolimatta toiminnaltaanepävarmoja. Niiden toiminnan varmuus
riippuu hyvin pitkälti alkuarvauksesta ja mitä lähempänä alkuarvaus on ratkaisua,
sitävarmempiane toiminnaltaanovat.Joskus alkuarvausvoiollaliianhuonoratkai-
sun löytämiseksi ja sen takia ne tarvitsevatkin tuekseen laskentamenetelmän, jota
voidaan käyttää paremman alkuarvauksen tuottamiseen. Tällaiseksi menetelmäk-
si sopii hyvin jyrkän kasvun menetelmä. Jyrkän kasvun menetelmä ei kuitenkaan
ole toiminnaltaan yhtä nopea ja yksinkertainen ratkaisumenetelmä kuin Newtonin
menetelmäon jasen takiaalkuarvausta kannattaakin tarkentaa sillävainparinite-
raationverran. Nopeankasvunmenetelmälähtee Newtoninmenetelmäntavoinliik-
keellealkuarvauksesta,muttaratkaisuaeilähdetäetsimäänsuoraanyhtälöryhmästä
(14) vaan yhtälöryhmästä johdetusta funktiosta [18℄
g(x 1 , x 2 , ..., x n ) =
n
X
i=0
[f i (x 1 , x 2 , ..., x n )] 2 (20)
, jonka nollakohta on samassa pisteessä kuin yhtälöryhmän (14) ratkaisu. Nolla-
kohdan selvittämiseksi on ensin laskettava suunta, johon funktion (20) arvo lähtee
∇g(x) =
∂g(x)
∂x
1, ∂g(x)
∂x
2, ..., ∂g(x)
∂x
nt
Funktion gradienttikertookuitenkin vasta suurimman muunnoksen suunnan jasen
takia on vielä laskettava kuinka suurella kertoimella
α > 0
alkuarvauksen arvoa kannattaa muuttaa.x (n+1) = x (n) − αz = x (n) − α ∇g(x (n) )
|∇g(x (n) )|
(21)Kyseisen
α
muuttujan arvo voitaisiinlaskea suoraanyhtälöstäh(α) = g
x (n) − α ∇g(x (n) )
|∇g(x (n) )|
(22)
, mutta arvon suoramäärittelydierentiaalin avullaolisikuitenkin todennäköisesti
liian työlästä. Sen takia funktion (20) käyttäytymistä alkuarvauksen läheisyydessä
kannattaa vainapproksimoida.Approksimointionnistuu parhaiten Newtonininter-
polaation toisenasteen polynomin avulla
P (α) = g(x (n) ) + h 1 α + h 3 α(α − α 2 )
(23), missä
h 1 = g(x (n) − α 2 z) − g(x (n) − α 1 z) α 2 − α 1
h 3 = h 2 − h 1 α 3 − α 1
h 2 = g(x (n) − α 3 z) − g(x (n) − α 2 z) α 3 − α 2
jajokainterpoloifunktion(22)pisteissä
α 1 , α 2jaα 3.Kyseisetkolmefunktion(22)in-
terpolaatiopistettäonvalittavasiten,ettäehdot
α 1 = 0
,h(α 3 ) < h(α 1 )
jaα 2 = α 3 /2
toteutuvat.Näin ollen
α 1 onaina arvoltaan0 ja α 3 onalkuarvaus, jokavalitaansi-
tenettäehtototeutuuh(α 3 ) < h(α 1 )
.Tämänjälkeenvielälopuksiviimeinenkerroin
α 2 sijoitetaanarvojen α 1, sekä α 3 puoliväliinja koska α 1 = 0
niin voidaan suoraan
h(α 3 ) < h(α 1 )
.Tämänjälkeenvielälopuksiviimeinenkerroinα 2 sijoitetaanarvojen α 1, sekä α 3 puoliväliinja koska α 1 = 0
niin voidaan suoraan
α 3 puoliväliinja koska α 1 = 0
niin voidaan suoraan
laskea
α 2 = α 3 /2
. Kyseiset arvot määrittelevätfunktion (23) ja paras yhtälön (21)α α P (α ) = 0 α α
ja
α 3 parempi on se, joka tuo yhtälölle (22) pienemmän arvon. Paremman arvon
määrittelemisenjälkeen parempisijoitetaanyhtälöön(21) jaiteraationseuraavaar-
vo voidaan laskea. Tämän jälkeen lasketaan taas paras
α
:n arvo, sekä sen avullaseuraavaniteraationarvo ja tätä toistetaan kunnes haluttu tarkkuus saavutetaan.
Elektroniikkapiirien käyttäytymistä voidaan analysoida usealla eri tavalla. Näitä
analysointitapoja ovat mm. tasavirta-, vaihtovirta-, transientti-, herkkyys- ja häi-
riöanalyysi. Nimensä mukaisesti jokainen näistä on kehitetty tietyn tilanteen simu-
loimistavarten.Tässätyössä kehitettyohjelmaosaasoveltaatasavirta-,vaihtovirta-
ja transienttianalyysejä.
4.1 Tasavirta-, eli DC-analyysi
Analogistenelektroniikkapiirienkäyttäytymisen simulointialoitetaantavallisestiai-
natasavirta-analyysistä.Analyysinavullasaadaanselvillepiirinoperaatiopiste.Tasavirta-
analyysissä kaikki lähteet on tasavirtaisia, joten piirin jännitteet tai virrat eivät
muutu ajan myötä ja energiaa varaavat komponentit voidaan korvata. Esimerkiksi
kondensaattorinläpikulkevavirtaonriippuvainensen yliolevanjännitteenmuutok-
sista
i = C dv
dt
(24)ja koskajännite on aina vakio.
i = C dv
dt = C · 0 = 0
Eli kondensaattorin läpiei kulje koskaan virtaja se voidaan korvata virtalähteellä,
joka ei tuota virtaa ollenkaan, eli
i = 0
A. Induktoria sen sijaan ei voi korvatavirtalähteellä, sillä sen yli oleva jännite on riippuvainen sen läpi kulkevan virran
muutoksista
v = L di
dt
(25)ja koskavirta onaina vakio
v = L di
dt = L · 0 = 0
Eli induktorinyli olevajännite onaina nolla ja se voidaan korvata jännitelähteellä,
yhtälöt. Yhtälötvoidaanmuodostaaesimerkiksisolmupisteanalyysinmukaisesti.Li-
neaarisesta piiristä muodostetut yhtälöt ovat lineaarisia ja niiden ratkaisemiseen
voidaan käyttää sekä suoria, että iteratiivisia menetelmiä.Työssä toteutettu ohjel-
maratkaisee lineaariset yhtälöryhmättavallisesti suoria menetelmiä kuten Gaussin
eliminointia ja LU-hajotelmaa soveltaen, mutta käyttää myös iteratiivisiamenetel-
miä, kun ratkaisun nopeus on ratkaisun tarkkuutta merkitsevämpi tekijä. Epäline-
aarisista piireistä muodostetut yhtälöt ratkaistaan sen sijaan vain iteratiivisia me-
netelmiä käyttäen. Ohjelmassa ne yritetään aluksiratkaista Newtonin menetelmän
avulla, mutta jos iteraatioissa saadut tulokset lähtevät hajaantumaan sovelletaan
jyrkän kasvun menetelmää muutaman iteraationverran ja lopuksi arvoa tarkenne-
taan Newtonin menetelmänavulla.
4.2 Vaihtovirta- eli AC-analyysi
Tasavirta-analyysin jälkeen tiedossa on jo piirin operaatiopiste, eli piirin kaikkien
kytkentäpisteidenjännitteettunnetaan.Tämänjälkeenonuseinvieläsaatavaselvil-
lepiirintaajuusriippuvuus,elimitenvaihtovirtaisenjavakaansignaalintaajuusvai-
kuttaa piirin käyttäytymiseen. Kyseinen analysointionnistuu vaihtovirta-analyysin
avulla.Vaihtovirta-analyysinsuorittamisenehtonaonkuitenkin,ettäkaikkienpiiris-
sä olevien vaihtovirtaisten lähteiden signaalitovat sinusoidaalisiaja niiden taajuus
on sama. Vaihtovirta-analyysi aloitetaan luvussa 4.1 esitellyn tasavirta-analyysin
mukaisesti. Operaatiopisteen laskemisen jälkeen esimerkiksi diodit korvataan ope-
raatiopisteen mukaan lasketuilla sijaiskytkennöillä. Myös taajuusriippuvaiset kom-
ponentitkorvataan kuvan10 mukaisillalinearisoiduillasijaiskytkennöillä.
(a)Kondesaattorinsijaiskytkentä (b)Induktorinsijaiskytkentä
Kuva10: Taajuusriippuvaisten komponenttien sijaiskytkennät
analyysissä. Ainoana erona tavalliseen tasavirta-analyysin voidaan pitää sitä, että
kun tasavirta-analyysissä yhtälöt muodostettiin kokonaan reaalisista arvoista niin
vaihtovirta-analyysissämukana on myös kompleksisia arvoja. Ohjelman toiminnan
laajentaminentasavirta-analyysistävaihtovirta-analyysiineituoohjelmankoodauk-
seen kovin suuria muutoksia. Vaihtovirta-analyysin toteuttamiseksi ohjelmaan on
vain lisättävä mahdollisuus piensignaalimallin luomiseen sekä kompleksisten arvo-
jen käsittelyyn.
4.3 Transienttianalyysi
Vaihtovirta- ja tasavirta-analyysissä analysoidaan miten piiri käyttäytyy vakaassa
tilassa. Piiri ei kuitenkaan aina ole vakaassa tilassa. Piirissä voi esiintyä häiriösig-
naaleja,jotkahäiritsevätjamuuttavatpiirinkäyttäytymistä.Vaikkahäiriösignaaleja
ei olisi, niin piiri ei kuitenkaan saavuta vakaata tilaa välittömästi virran kytkemi-
senjälkeen.Piirinsuunnittelussaonotettavahuomioonmyösmahdollisetepävakaat
tilatjatutkittavamitenpiiriniissäkäyttäytyy.Epävakaidentilojensimulointiinkäy-
tetään aikakehitys eli transienttianalyysiä, joka tutkii miten piirin käyttäytyminen
muuttuu aikakehityksen myötä. Resistiivisissä piireissä aikakehityksen tutkiminen
on melko helppoa ja tavallisesti niiden aikakehitys voidaan hahmottaa jo nopealla
päättelyllä, sillä niissä kaikki piirin arvot hetkellä
t
ovat suoraan riippuvaisia läh- teiden arvoista hetkellät
. Resistiivisillä piireillä ei kuitenkaan ole kovinkaan laaja sovellettavuus ja sen takia usein käytetään myös energiaavaraavia komponentteja,kutenkondesaattoreitajainduktoreita,joissajännitteenjavirranvälinenriippuvuus
on lineaarisen sijasta dierentiaalinen (24), (25). Kyseiset yhtälöt voidaan esittää
myös integraalisessamuodossa
v(t) = 1 C
ˆ t
−∞
i(t)dt
(26)i(t) = 1 L
ˆ t
−∞
v (t)dt
(27)ja ne osoittavat, että kondensaattorin jännite, sekä induktorin virta hetkellä