【发布时间】:2015-08-26 14:04:45
【问题描述】:
我在 python 中有一个代码来表示阻尼振荡器中的能量衰减,它的内容如下:
def E(wt, Q):
return (np.e**(-x/Q))*(1-(1/2*Q)*np.sin(2*x))
x = np.linspace(0,20,1000)
y0 = E(x,2)
y1 = E(x,4)
y2 = E(x,8)
y3 = E(x,16)
plt.plot(x, y0, 'p', label=r'$Q=2$')
plt.plot(x, y1, 'r', label=r'$Q=4$')
plt.plot(x, y2, 'g', label=r'$Q=8$')
plt.plot(x, y3, 'b', label=r'$Q=16$')
plt.xlabel(r'$wt$')
plt.ylabel(r'$E$')
plt.title (r"$E(t) -vs.- wt$")
plt.show()
但它应该看起来像这样: https://www.dropbox.com/s/o2mmmi8v6kdnn2v/good_graph.png?dl=0 我究竟做错了什么?我有正确的功能
【问题讨论】:
-
wt从未在E的定义中使用 -
使用 Python 3,您的代码将按原样运行(尽管它可以使用一些改进,正如人们所提到的)。
-
@gregb 他的方程式不正确,尽管您在 python 3 中提出了关于整数除法的有效观点
-
@alexmcf 阅读:“它可以使用一些改进”:)
标签: python numpy matplotlib graph physics