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).