Metody rozwi ązywania układów równań nie liniowych

25
Metody rozwiązywania układów równań nieliniowych 0 , , , 0 , , , 0 , , , 2 1 2 1 2 2 1 1 n n n n x x x f x x x f x x x f 0 x f Ogólne sformułowanie procesu iteracyjnego ) ( ) 1 ( 2 1 2 1 2 2 1 1 , , , , , , , , , p p n n n n x x x x x x x x x x x x x x x x

description

Metody rozwi ązywania układów równań nie liniowych. Ogólne sformułowanie procesu iteracyjnego. Twierdzenie o punkcie stałym dla układów równań nieliniowych. Niech D Í D f będzie obszarem domkniętym i ograniczonym w R n i niech f ( x ) Î D dla wszystkich x Î D odzworowuje D na siebie. - PowerPoint PPT Presentation

Transcript of Metody rozwi ązywania układów równań nie liniowych

Page 1: Metody rozwi ązywania układów równań  nie liniowych

Metody rozwiązywania układów równań nieliniowych

0,,,

0,,,

0,,,

21

212

211

nn

n

n

xxxf

xxxf

xxxf

0xf

Ogólne sformułowanie procesu iteracyjnego

)()1(

21

212

211

,,,

,,,

,,,

pp

nn

n

n

xxxx

xxxx

xxxx

xx

xx

Page 2: Metody rozwi ązywania układów równań  nie liniowych

Twierdzenie o punkcie stałym dla układów równań nieliniowych

Niech DD będzie obszarem domkniętym i ograniczonym w Rn i niech (x)D dla wszystkich xD odzworowuje D na siebie.

Jeżeli istnieje taka stała 0 L <1 i norma wektorowa |||| taka, że dla każdego x, x’D jest spełniony warunek Lipschitza ||(x)-(x’)|| L||x-x’||, wtedy:

1. Istnieje dokładnie jeden punkt stały x* w D.

2. Proces iteracyjny jest zbieżny do punktu x* dla każdego przybliżenia początkowego x(0).

3. Słuszne są następujące oszacowania błędów:

)1()()(

)0()1()(

1*

1*

ppp

pp

L

LL

L

xxxx

xxxx oszacowanie aprioryczne

oszacowanie aposterioryczne

Page 3: Metody rozwi ązywania układów równań  nie liniowych

Normy wektorów

nni

i

m

ii

m

ii

nm

i

n

in

x

x

x

xx

xx

x

xx

limmax1

1

1

2

2

1

1

n-norma

2-norma (norma euklidesowa)

1-norma

norma maksimum

Page 4: Metody rozwi ązywania układów równań  nie liniowych

n

nnn

n

n

nknik

i

xxx

xxx

xxx

x

21

2

2

2

1

2

1

2

1

1

1

,...,2,1,...,2,1

J

Macierz Jacobiego w szacowaniu zbieżności

1max

1max1max

1

2

2/1

1 1

2

,...,2,12

11

,...,2,111

,...,2,1

Lx

Lx

Lx

L

n

i

n

k k

i

Dxni

n

i k

i

Dxnk

n

k k

i

Dxni

xJ

xJ

xJ

J

Page 5: Metody rozwi ązywania układów równań  nie liniowych

Rząd zbieżności

Proces iteracyjny ma rząd zbieżności r jeżeli istnieje taka stała 0 M , że

M

xx

xxrp

p

p

*1

*

lim

Page 6: Metody rozwi ązywania układów równań  nie liniowych

Metoda Newtona - wyprowadzenie

0,,,,,,

0,,,,,,

0,,,,,,

0*02

*2

2

01

*1

1

002

01

**2

*1

0*202

*2

2

201

*1

1

2002

012

**2

*12

0*102

*2

2

101

*1

1

1002

011

**2

*11

nnn

nnnnnnn

nnn

nn

nnn

nn

xxx

fxx

x

fxx

x

fxxxfxxxf

xxx

fxx

x

fxx

x

fxxxfxxxf

xxx

fxx

x

fxx

x

fxxxfxxxf

Page 7: Metody rozwi ązywania układów równań  nie liniowych

)()1()(

)()(2

)(1

)()(2

2

)(1

1

)()(2

)(12

)(2)(2

2

2)(1

1

2

)()(2

)(11

)(1)(2

2

1)(1

1

1

,,,

,,,

,,,

pi

pi

pi

pn

ppn

pn

n

npnpn

pn

pppn

n

pp

pn

pppn

n

pp

xxx

xxxfxx

fx

x

fx

x

f

xxxfxx

fx

x

fx

x

f

xxxfxx

fx

x

fx

x

f

Formuła iteracyjna wielowymiarowej metody Newtona

Page 8: Metody rozwi ązywania układów równań  nie liniowych

Metoda Newtona

xfxJxx 1 f

1. Przyjąć przybliżenie początkowe x(0)

2. W p-tej iteracji obliczyć macierz Jacobiego Jf(x(p)).3. Rozwiązać układ równań na x(p).

Jf(x(p))x(p)=-f(x(p)).4. Obliczyć x(p+1)=x(p)+x(p).5. Jeżeli ||x(p+1)||< lub ||f(x(p+1))||< lub przekroczono największą

dopuszczalną liczbę iteracji proces iteracyjny kończy się, w przeciwnym wypadku zwiększyć licznik iteracji o 1 i przejść do punktu 2.

Rząd zbieżności metody Newtona wynosi 2 jeżeli macierz Jacobiego w punkcie odpowiadającym rozwiązaniu układu jest nieosobliwa:

||x(p+1)-x*||<M||x(p)-x*||2

Page 9: Metody rozwi ązywania układów równań  nie liniowych

Tłumiona metoda Newtona

W punkcie 4 podstawiamy

x(p+1)=x(p)+2-kx(p)

gdzie k jest najmniejszą liczbą całkowitą taką, że

||f(x(p+1)||<||f(x(p))||

Inne modyfikacje metody Newtona:

1. Dla oszczędności czasu można macierz Jacobiego liczyć nie w każdym kroku ale co parę kroków.

2. Pochodne można przybliżać symetrycznymi ilorazami różnicowymi

Page 10: Metody rozwi ązywania układów równań  nie liniowych

Metoda siecznych dla układów równań nieliniowych

Macierz Jacobiego przybliżamy macierzą ilorazów różnicowych liczonych pomiędzy iteracją p a p-1.

)()()1(

)()()1()(

)1()()1(2

)(2

)1(1

)(1

)1()(

)()1()(1

)()()(1)1()(

)1()(

,

,,,,,,,

,,,,,,,,1

,

ppp

pppp

pn

pn

pppppp

pn

pj

ppn

pj

ppj

pj

pj

pj

xxxxxx

xxxxxxxx

xx

xxx

xfxxxDf

fffxxDf

fff

Page 11: Metody rozwi ązywania układów równań  nie liniowych

Metoda największego spadku

xfxJ

x

x

x

xx

x

x

xfxJxfxJ

xfxx

x

xxx

xfxx

T

n

T

T

n

ii

Q

Q

Q

Q

QQ

Q

fQ

22

1

2

2

2

22

2

2

21

2

Page 12: Metody rozwi ązywania układów równań  nie liniowych

1. Wybieramy punkt startowy x0. Obliczamy d0=-g0=-JTf(0). Jeżeli g0=0 procedura jest zakończona.

2. W kroku k=0,1,…,n-1 obliczamy

kTk

kTk

Jdd

gdk

Wstawiamy xk+1=xk+kdk

Wstawiamy gk+1=gk+kJdk. Jeżeli ||gk+|||< kończymy proces, w przeciwnym wypadku wstawiamy

kTk

kT1k

Jdd

Jdg k

a następnie wstawiamy dk+1=-gk+1+kdk

Metoda sprzężonych gradientów

Page 13: Metody rozwi ązywania układów równań  nie liniowych

Zastosowanie metody Newtona do obliczania stężeń równowagowych w układach wieloskładnikowych

Przykład: równowagi ustalające się w amoniakalnym roztworze soli srebra

4

23343

233

43334

33233

3231233

NHH

NHAg2NHAgNHNH

NHAgNHAgAg

NHln-NHlnHlnlnHNHNH

NHlnAglnNHAglnlnNHAgNHAg

NHln2AglnNHAglnlnNHAgNH2Ag

3

H

NH

Ag

T

T

T

K

K

K

6 niewiadomych (stężeń równowagowych)

6 równań

Page 14: Metody rozwi ązywania układów równań  nie liniowych

TQC

0AQlnKAlnC

Q

A

T

)(

34323

34323

100100

001112

010011

HAgNHNHNHAgNHAg

101100

011010

012001

HAgNHNHNHAgNHAg

mnm

Algebraiczny zapis równowag chemicznych i bilansu masy.

Page 15: Metody rozwi ązywania układów równań  nie liniowych

Obliczanie macierzy Q na podstawie macierzy A.

komponenty

mnmn

kompleksy

TRL

komponenty

Rmnm

kompleksy

Lmm

)()(

1

)(

IAAQ

AAA

Page 16: Metody rozwi ązywania układów równań  nie liniowych

Sposób pierwszy: rozwiązujemy układ równań na stężenia(Alcock, R.M., Hartley, F.R. & Rogers, D.E. J. Chem. Soc. Dalton Trans. 115, 1978)

nmnmnmn

n

n

n

mnmm

n

n

n

n

n

kjjmnmn

n

kjj

n

kjj

n

kjmjm

n

kjj

n

kjj

qqq

qqq

qqqC

a

C

a

C

a

C

a

C

a

C

aC

a

C

a

C

a

CqT

CqT

CqT

CaK

CaK

CaK

,2,1,

22221

11211

2

2

1

1

2

2

22

1

21

1

2

12

1

11

1,

122

111

1

122

111

lnln

lnln

lnln

)(

fJ0Cf

Page 17: Metody rozwi ązywania układów równań  nie liniowych

n

p

p

p

(p)ppp

C

C

0

0

lnln

1

)(

)(1

)(

1)()()1(

C

CQCT

CAK

Q

ACC

jest dobierane tak aby nowe stężenia były dodatnie.

Page 18: Metody rozwi ązywania układów równań  nie liniowych

Sposób 2: wyrażamy zmiany stężeń w wyniku reakcji przez postęp reakcji.

TQCεQAQCεACQQC

εACC

A

0T0T0

T0

30

HH

210

AgAg

3210NHNH

30

NHNH

20

NHAgNHAg

10

NHAgNHAg

34323

2

101100

011010

012001

HAgNHNHNHAgNHAg

33

44

33

2323

CC

CC

CC

CC

CC

CC Zależności po lewej można uzyskać w czysto formalny sposób. Ponieważ macierz stechiometryczna A jest ortogonalna do macierzy bilansu Q, wartość wyrażenia QC nie zmieni się, jeżeli dodamy do stężeń niej dowolną liniową kombinację wierszy macierzy A.

Page 19: Metody rozwi ązywania układów równań  nie liniowych

n

k k

mkn

k k

kmkn

k k

kmk

n

k k

mkkn

k k

kn

k k

kk

n

k k

mkkn

k k

kkn

k k

k

n

i

m

jjjiimim

n

i

m

jjjiii

n

i

m

jjjiii

C

a

C

aa

C

aa

C

aa

C

a

C

aaC

aa

C

aa

C

a

aCaK

aCaK

aCaK

1

2

1

2

1

1

1

2

1

22

1

12

1

1

1

21

1

21

1 1

)0(

1 1

)0(22

1 1

)0(11

lnln

lnln

lnln

fJ

εf

Page 20: Metody rozwi ązywania układów równań  nie liniowych

)(1)()(

)()()1(

lnln ppp

ppp

CAKAAΔε

ΔεACCT1

T

C

jest dobierane tak aby nowe stężenia były dodatnie.

Przybliżeniem początkowym jest jakikolwiek zestaw dodatnich stężeń spełniających równania bilansu masy.

Page 21: Metody rozwi ązywania układów równań  nie liniowych

Przykład: równowagi w roztworze nad osadem siarczku żelaza (II).

Page 22: Metody rozwi ązywania układów równań  nie liniowych

log (stezenie)H+ OH- Fe2+ FeOH+

log(stezenie)S2- HS- H2S

Numer iteracji

Numer iteracji

Page 23: Metody rozwi ązywania układów równań  nie liniowych

Sposób 3: zmiany logarytmów stężeń wyrażamy poprzez parametry związane z równaniami bilansu masy

τQCC

0AQ

KCA

T*

T

lnln

lnln

Jeżeli macierz Q można podzielić na (n-m)x(n-m)-wymiarową część jednostkową odpowiadającą komponentom i pozostałą odpowiadającą kompleksom to parametry mają sens zmian potencjałów chemicznych komponentów podzielonych przez RT.

Page 24: Metody rozwi ązywania układów równań  nie liniowych

n

kkkmn

n

kkkkmn

n

kkkkmn

n

kkkmnk

n

kkk

n

kkkk

n

kkkmnk

n

kkkk

n

kkk

n

i

mn

jjjiiimnmn

n

i

mn

jjjiii

n

i

mn

jjjiii

CqCqqCqq

CqqCqCqq

CqqCqqCq

qCqT

qCqT

qCqT

1

2,

1,2,

1,1,

1,2

1

22

112

1,1

121

1

21

1 1

*,

1 1

*22

1 1

*11

lnexp

lnexp

lnexp

fJ

f

Page 25: Metody rozwi ązywania układów równań  nie liniowych

)(1)(

1

)()()()1( ,,2,1,exp

pT(p)p

mn

k

pkki

ppi

pi mniqCC

QCTQQ

C

jest dobierane tak aby zmiany stężeń nie były niefizycznie duże.

Przybliżeniem początkowym jest jakikolwiek zestaw stężeń spełniających równania na stałe równowag.