Metody optymalizacji Laboratorium 2 Napisać funkcję optymalizacji

Transkrypt

Metody optymalizacji Laboratorium 2 Napisać funkcję optymalizacji
Metody optymalizacji
Laboratorium 2
Napisać funkcję optymalizacji metodą Brenta.
Opis metody Brenta:
http://en.wikipedia.org/wiki/Brent%27s_method
funkcje testowe:
1) f=x*x-x-2 w przedziale <-5,5>
2) f=x*x*x-x w przedziale <-5,5>
3) f=sin(x)*cos(x)/(1-x*x) w przedziale <-2,2>
Przykład zastosowania funkcji octave fzero implementujęcej metodę Brenta:
fzero(inline('(x-1)*(x+2)','x'),[-2 2])
Mając trójkę (a; b; c), spełniającą:
a < b < c : f(a) > f(b); f(c) > f(b)
•
obliczamy d zgodnie ze wzorem:
•
akceptujemy tak obliczone d, jeżeli
1. d leży wewnątrz przedziału, a < d < c, oraz
2. Rozmiar nowego przedziału, wyznaczonego zgodnie z:
(A)
•
jest mniejszy niż połowa przedziału w przedostatniej iteracji.
Jeżeli nie akceptujemy nowego d, dokonujemy bisekcji przedziału [a; c] i jako d bierzemy
jego środek, a dalej postępujemy zgodnie z (A).

Podobne dokumenty