Metoda Broydena

Z testwiki
Wersja z dnia 13:10, 22 lut 2023 autorstwa imported>Beno (drobne techniczne)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Szablon:Dopracować

Zastosowanie

Procedura Broydena znajduje przybliżone wartości składowych rozwiązania układu n równań nieliniowych postaci

fk(x1,x2,,xn)=0,k=1,2,,n.

Opis metody

W algorytmie Broydena najpierw dla danego (z góry) początkowego przybliżenia rozwiązania x(0)=(x1(0),x2(0),,xn(0))T wyznacza się macierz

A01=[Df(x(0))]1,

gdzie Df jest macierzą Jacobiego w postaci

Df(x)=[f1(x)x1f1(x)x2f1(x)xnf2(x)x1f2(x)x2f2(x)xnfn(x)x1fn(x)x2fn(x)xn].

Następnie wyznacza się przybliżenie x(1)=(x1(1),x2(1),,xn(1))T na podstawie wzoru

x(1)=x(0)A01f(x(0)),

gdzie f(x)=(f1(x),f2(x),,fn(x))T.

Kolejne przybliżenia rozwiązania zadanego układu równań oblicza się z zależności

x(i+1)=x(i)Ai1f(x(i)),

przy czym macierz Ai1 wyznacza się na podstawie znajomości macierzy Ai11 i dwóch poprzednich przybliżeń rozwiązania

Ai1=Ai11+(siAi11yi)siTAi11siTAi11yi,

gdzie:

yi=f(x(i))f(x(i1)), si=x(i)x(i1).

Algorytm kończy się, gdy

Ai1f(x(i))<t,

gdzie oznacza normę euklidesową, a t – zadaną tolerancję błędu, lub gdy zostanie przekroczona maksymalna dozwolona liczba iteracji.

Metoda alternatywna

Można również skorzystać ze wzoru wykorzystującego iloczyn Kroneckera i iloczyn skalarny ( i )[1].

wybieramy wektor startowy x(0)
A0=Df(x(0)) – macierz Jacobiego
s(0)=A01f(x(0))
x(1)=x(0)+s(0)
i=0
powtarzaj aż s(i) będzie miało wystarczająco małą normę:
t(i)=Ai1f(x(i+1))
qi=s(i)(s(i)+t(i))
Ai+11=Ai11qi(t(i)s(i))Ai1
i=i+1
s(i)=Ai1f(x(i))
x(i+1)=x(i)+s(i)

Przypisy

Szablon:Przypisy