能否将这个代码中的所有点都绘制在一张图片上
时间: 2024-04-14 10:27:50 浏览: 82
当然可以!以下是修改后的代码,将所有点绘制在一张图片上:
```python
from scipy.optimize import linprog
import matplotlib.pyplot as plt
a = 0
c_values = []
Q_values = []
while (1.1 - a) > 1:
c = [-0.05, -0.27, -0.19, -0.185, -0.185]
Aeq = [[1, 1.01, 1.02, 1.045, 1.065]]
beq = [1]
A = [[0, 0.025, 0, 0, 0], [0, 0, 0.015, 0, 0], [0, 0, 0, 0.055, 0], [0, 0, 0, 0, 0.026]]
b = [a, a, a, a]
vlb = [0, 0, 0, 0, 0]
vub = []
res = linprog(c=c, A_ub=A, b_ub=b, A_eq=Aeq, b_eq=beq, bounds=list(zip(vlb, vub)))
x = res.x
a += 0.001
print(a)
print(x)
Q = -res.fun
c_values.append(a)
Q_values.append(Q)
plt.plot(c_values, Q_values, '.')
plt.xlabel('a')
plt.ylabel('Q')
plt.axis([0, 1.1, 0, 0.5])
plt.show()
```
这样修改后的代码将会绘制出所有点,并在一张图片中显示。每个点的 x 坐标为 `a` 的值,y 坐标为 `Q` 的值。图片的 x 轴范围是从 0 到 1.1,y 轴范围是从 0 到 0.5。
请尝试运行修改后的代码,观察绘制的结果。
阅读全文