Golden section method

This commit is contained in:
emil
2024-12-07 03:04:25 +03:00
parent ac60aa2e49
commit b892d2386c
+25
View File
@@ -20,3 +20,28 @@ def bisection_method(a, b, eps):
else:
a = c
fa = fc
def f_golden(x):
return (x - 2)**2 + 3
def golden_section_search(a, b, eps):
phi = (1 + math.sqrt(5)) / 2.0
resphi = 2 - phi
c = a + resphi * (b - a)
d = b - resphi * (b - a)
fc = f_golden(c)
fd = f_golden(d)
while (b - a) > eps:
if fc < fd:
b = d
d = c
fd = fc
c = a + resphi * (b - a)
fc = f_golden(c)
else:
a = c
c = d
fc = fd
d = b - resphi * (b - a)
fd = f_golden(d)