双星号

时间:2015-06-22 18:42:58

标签: python

我是Python新手,真的很难过。我正在读一本书,代码工作得很好;我只是不明白!

T[i+1] = m*v[i+1]ˆ**/L

此代码的双星号部分是什么?它甚至出现了正斜杠。变量L初始化为值1.0但是,看起来有人瘫倒在键盘上,但代码工作正常。这是一个数学表达还是更多的东西?我很感激帮助理解这一点。谢谢!

完整代码:

from pylab import *
g = 9.8 # m/sˆ2
dt = 0.01 # s
time = 10.0 # s
v0 = 2.0 # s
D = 0.05 #
L = 1.0 # m
m = 0.5 # kg
# Numerical initialization
n = int(round(time/dt))
t = zeros(n,float)
s = zeros(n,float)
v = zeros(n,float)
T = zeros(n,float)
# Initial conditions
v[0] = v0
s[0] = 0.0
# Simulation loop
i = 0
while (i<n AND T[i]>=0.0):
    t[i+1] = t[i] + dt
    a = -D/m*v[i]*abs(v[i])-g*sin(s[i]/L)
    v[i+1] = v[i] + a*dt
    s[i+1] = s[i] + v[i+1]*dt
    T[i+1] = m*v[i+1]ˆ**/L + m*g*cos(s[i+1]/L)
    i = i + 1

2 个答案:

答案 0 :(得分:11)

本代码来自书籍#34;使用Python的基础力学:结合分析和数值技术的现代课程&#34;。
根据第255页的公式: enter image description here

所以Python行应该是:

T[i+1] = m*v[i+1]**2/L + m*g*cos(s[i+1]/L)

答案 1 :(得分:8)

  

此代码的双星号部分是什么?

你的核心问题的答案(至少在写作中存在)是双星号(星号)就是力量 - “提升能力”。因此,i**3将是“cube i”。

我的(交叉检查)来源:https://stackoverflow.com/a/1044866/18196