要不断最小化一个缓慢变化的函数,可以使用优化算法来实现。以下是一个示例代码,使用梯度下降算法最小化一个简单的函数。
import numpy as np
def slow_function(x):
# 缓慢变化的函数
return x**2 + 3*x + 5
def gradient(x):
# 函数的梯度
return 2*x + 3
def minimize_function(learning_rate, num_iterations):
x = 0 # 初始值
for i in range(num_iterations):
grad = gradient(x) # 计算梯度
x -= learning_rate * grad # 更新x
loss = slow_function(x) # 计算函数值
print(f"Iteration {i+1}: x = {x:.4f}, loss = {loss:.4f}")
minimize_function(0.1, 10)
在这个示例中,我们定义了一个缓慢变化的函数 slow_function
,并计算了它的梯度 gradient
。然后,我们使用梯度下降算法来最小化这个函数。在每次迭代中,我们计算梯度,更新 x
,并计算函数值。最后,我们打印出每次迭代的结果。
这是一个简化的示例,实际情况中可能需要根据具体的问题进行调整和优化。不同的优化算法和参数设置可能会对结果产生影响。
上一篇:不断追加的自定义对象数组的保存