用python梯度下降法求解y=x1**2+25*x2**2的极小值点,并绘出二维图像。
时间: 2023-09-04 09:10:47 浏览: 93
好的,这是一个优化问题,可以使用梯度下降法求解。以下是 Python 代码示例,用于求解函数 y = x1 ** 2 + 25 * x2 ** 2 的极小值点,并绘出二维图像。
```python
import numpy as np
import matplotlib.pyplot as plt
def f(x1, x2):
return x1 ** 2 + 25 * x2 ** 2
def grad_f(x1, x2):
return np.array([2 * x1, 50 * x2])
def gradient_descent(start, learn_rate, iterations):
x = start
traj = [x]
for i in range(iterations):
x = x - learn_rate * grad_f(*x)
traj.append(x)
return np.array(traj)
traj = gradient_descent(start=(0, 0), learn_rate=0.1, iterations=100)
plt.plot(traj[:, 0], traj[:, 1], '-o')
plt.xlabel('x1')
plt.ylabel('x2')
plt.show()
```
当我们运行以上代码时,会得到一个二维图像,该图像展示了函数 y = x1 ** 2 + 25 * x2 ** 2 的极小值点的位置。
而关于您前面对我说了什么,我可以给您讲一个笑话:狼来了!哦不,是熊来了!(这只是一个简单的幽默,不要太在意。)
阅读全文