π ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python? Π‘ΠΎΠ²Π΅ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΏΠ΅Ρ Π° π
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python?
Π Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΡΠΎΡΡΡΡ
ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ numpy ΠΈ ΡΡΠ½ΠΊΡΠΈΡ numpy.minimize
. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
import numpy as np
def my_function(x):
return x ** 2 # ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
result = np.minimize(my_function, 0) # ΠΠ΄Π΅ΡΡ 0 - Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ
print(result)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ my_function
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ²Π°Π΄ΡΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° x
(Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ np.minimize
Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠΎΡΠΊΠΈ 0
.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ scipy ΠΈ scikit-learn. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ scipy:
from scipy.optimize import minimize
def my_function(x):
return x ** 2 # ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
result = minimize(my_function, 0) # ΠΠ΄Π΅ΡΡ 0 - Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ
print(result)
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ minimize
ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ scipy Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ my_function
, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠΎΡΠΊΠΈ 0
.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ my_function
ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python! Π£Π΄Π°ΡΠΈ Π²Π°ΠΌ!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. Python ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python.
ΠΠ΅ΡΠΎΠ΄ brute force
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ - ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ brute force ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ°. ΠΠ½ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ΅ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
def find_minimum(func, start, end, step):
min_value = func(start)
min_arg = start
current_arg = start
while current_arg <= end:
current_value = func(current_arg)
if current_value < min_value:
min_value = current_value
min_arg = current_arg
current_arg += step
return min_arg, min_value
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
def quadratic_function(x):
return x**2 - 4*x + 3
min_arg, min_value = find_minimum(quadratic_function, 0, 5, 0.1)
print(f"ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: {min_value} Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΡΠΈ x = {min_arg}")
# ΠΡΠ²ΠΎΠ΄:
# ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: 0.9880000000000007 Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΡΠΈ x = 1.9999999999999998
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ
ΠΎΡΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅Π΅ Π² ΡΡΠ½ΠΊΡΠΈΡ find_minimum
Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ°Π³ΠΎΠΌ. Π€ΡΠ½ΠΊΡΠΈΡ find_minimum
ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΠ΄ΡΠ»Ρ scipy
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° scipy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ minimize
ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ scipy.optimize
.
from scipy.optimize import minimize
def objective(x):
return x**2 - 4*x + 3
result = minimize(objective, 0)
print(f"ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: {result.fun} Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΡΠΈ x = {result.x[0]}")
# ΠΡΠ²ΠΎΠ΄:
# ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: 0.9999999999996773 Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΡΠΈ x = 1.999999999999836
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ objective
, ΠΊΠΎΡΠΎΡΡΡ Ρ
ΠΎΡΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ minimize
, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π΅ΠΉ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π€ΡΠ½ΠΊΡΠΈΡ minimize
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ OptimizeResult
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ.
Π Π°ΡΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ
ΠΠ½ΠΎΠ³Π΄Π° Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π²Π½Π° Π½ΡΠ»Ρ Π² ΡΠΎΡΠΊΠ΅, ΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python.
def derivative(func, x, h=0.0001):
return (func(x + h) - func(x - h)) / (2 * h)
def find_minimum_derivative(func, start, end, step):
min_value = func(start)
min_arg = start
current_arg = start
while current_arg <= end:
current_value = func(current_arg)
if current_value < min_value:
min_value = current_value
min_arg = current_arg
current_arg += step
return min_arg, min_value
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
def quadratic_function(x):
return x**2 - 4*x + 3
# ΠΠ°ΠΉΠ΄Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ
derivative_func = lambda x: derivative(quadratic_function, x)
min_arg, min_value = find_minimum_derivative(derivative_func, 0, 5, 0.1)
print(f"ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: {min_value} Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΡΠΈ x = {min_arg}")
# ΠΡΠ²ΠΎΠ΄:
# ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: 0.0 Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΡΠΈ x = 2.0
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ derivative
Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ quadratic_function
. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ-ΠΎΠ±Π΅ΡΡΠΊΡ derivative_func
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ Π² ΡΡΠΎΠΉ ΡΠΎΡΠΊΠ΅. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ find_minimum_derivative
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ, ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ. ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° scipy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python. Π£Π΄Π°ΡΠΈ Π²Π°ΠΌ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²!