plt.show()
,显示一个窗口,但它没有曲线。
我的代码:
In [1]: import math
In [2]: import numpy as np
In [3]: import matplotlib.pyplot as plt
In [4]: Lm=0
In [5]: for angle in np.arange(0.0,90.0,0.1):
...: theta = angle*math.pi/180
...: L=0.25*(math.cos(theta))*(5*math.sin(theta)+math.sqrt(25*math.sin(theta)*math.sin(theta)+80))
...: print(L,"\t",angle)
...: if L>Lm:
...: Lm=L
...:
In [6]: plt.figure(1)
Out[6]: <matplotlib.figure.Figure at 0x284e5014208>
In [7]: for angle in np.arange(0.0,90.0,0.1):
...: celta = angle*math.pi/180
...: L=0.25*(math.cos(theta))*(5*math.sin(theta)+math.sqrt(25*math.sin(theta)*math.sin(theta)+80))
...: plt.figure(1)
...: plt.plot(angle,L)
...:
In [8]: plt.show()
输出
答案 0 :(得分:1)
从我看到的情况来看,.*29XN
的第二次计算与第一次计算完全相同(除了你总是使用相同的L
值,我想这不是你的意思试图在第二个循环中实现)。您也根本不使用theta
。我们只是想解决这个问题。完全没有使用celta
,所以我也会把它踢掉,但是从我看到的你可以用Lm
计算Lm
。
剩下的是以下代码:
np.max(L)
现在,您只有一次import numpy as np
import matplotlib.pyplot as plt
angles = np.arange(0.0, 90.0, 0.1)
theta = angles * np.pi / 180
L = 0.25 * np.cos(theta) * (5*np.sin(theta) +
np.sqrt(25*np.sin(theta)*np.sin(theta) + 80))
plt.plot(angles, L)
plt.show()
来电,会创建一个包含大量积分的plt.plot
个实例,您可以看到一个情节。